Difference between revisions of "Articles"

From D Wiki
Jump to: navigation, search
(Added "Templates in D Explained" link)
(Fixed my name)
 
(50 intermediate revisions by 14 users not shown)
Line 6: Line 6:
 
  | name = Dispelling Common D Myths
 
  | name = Dispelling Common D Myths
 
  | url = http://semitwist.com/articles/article/view/dispelling-common-d-myths
 
  | url = http://semitwist.com/articles/article/view/dispelling-common-d-myths
  | author = Nicholas Sabalausky
+
  | author = Nick Sabalausky ("Nicolas", not "Nicholas")
 
}}
 
}}
  
Line 21: Line 21:
 
}}
 
}}
  
 +
{{Article
 +
| name = The Case for D
 +
| url = http://www.drdobbs.com/parallel/the-case-for-d/217801225
 +
| author = Andrei Alexandrescu
 +
| published = June 15, 2009
 +
}}
 +
 +
{{Article
 +
| name = Getting Started with the D Programming Language
 +
| url = http://www.gamedev.net/page/resources/_/technical/general-programming/getting-started-with-the-d-programming-language-r3306
 +
| author = Michael Parker
 
}}
 
}}
 +
{{Article
 +
| name = Sockets introduction
 +
| url = http://dpldocs.info/this-week-in-d/Blog.Posted_2019_11_11.html#sockets-tutorial
 +
| author = Adam D. Ruppe
 +
| published = November 11, 2019
  
 +
}}
 +
 +
 +
 +
}}
  
 
{{Article Group
 
{{Article Group
 
| Name = General
 
| Name = General
 
| Articles =
 
| Articles =
 +
 +
 +
 +
{{Article
 +
| name = Real Close to the Machine: Floating Point in D
 +
| url = https://dlang.org/d-floating-point.html
 +
| author = Don Clugston
 +
| published =
 +
}}
 +
 +
{{Article
 +
| name = Functional image processing in D
 +
| url = http://blog.thecybershadow.net/2014/03/21/functional-image-processing-in-d/
 +
| author = Vladimir Panteleev
 +
| published = March 21, 2014
 +
}}
 +
 +
{{Article
 +
| name = Implementing Pure Functions
 +
| url = http://www.drdobbs.com/tools/implementing-pure-functions/230700070#
 +
| author = Walter Bright
 +
| published = June 15, 2011
 +
}}
  
 
{{Article
 
{{Article
Line 32: Line 76:
 
  | url = http://www.drdobbs.com/cpp/nans-just-dont-get-no-respect/240005723
 
  | url = http://www.drdobbs.com/cpp/nans-just-dont-get-no-respect/240005723
 
  | author = Walter Bright
 
  | author = Walter Bright
  | published = Aug 16 2012
+
  | published = August 16, 2012
 
}}
 
}}
  
Line 39: Line 83:
 
  | url = http://www.drdobbs.com/cpp/voldemort-types-in-d/232901591
 
  | url = http://www.drdobbs.com/cpp/voldemort-types-in-d/232901591
 
  | author = Walter Bright
 
  | author = Walter Bright
  | published = May 07 2012
+
  | published = May 07, 2012
 +
}}
 +
 
 +
{{Article
 +
| name = Increasing Compiler Speed by Over 75%
 +
| url = http://www.drdobbs.com/cpp/increasing-compiler-speed-by-over-75/240158941#
 +
| author = Walter Bright
 +
| published = July 25, 2013
 
}}
 
}}
  
 
{{Article
 
{{Article
  | name = Uniform Function Call Syntax
+
  | name = DCompute: Running D on the GPU
  | url = http://www.drdobbs.com/cpp/uniform-function-call-syntax/232700394
+
| url = https://dlang.org/blog/2017/10/30/d-compute-running-d-on-the-gpu/
 +
| author = Nicholas Wilson
 +
  | published = October 30, 2017
 +
}}
 +
 
 +
{{Article
 +
  | name = Faster Command Line Tools in D
 +
  | url = https://dlang.org/blog/2017/05/24/faster-command-line-tools-in-d/
 +
  | author = Jon Degenhardt
 +
  | published = May 24, 2017
 +
}}
 +
 
 +
{{Article
 +
| name = Useful Workarounds
 +
}}
 +
 
 +
{{Article
 +
| name  = D as a Better C
 +
| url  = https://dlang.org/blog/2017/08/23/d-as-a-better-c/
 
  | author = Walter Bright
 
  | author = Walter Bright
  | published = Mar 28 2012
+
  | published = August 23, 2017
 +
}}
 +
 
 +
{{Article
 +
| name = SafeD
 +
| url = https://dlang.org/safed.html
 +
| author = Bartosz Milewski
 +
| published =
 +
}}
 +
 
 +
 
 +
 
 +
}}
 +
 
 +
{{Article Group
 +
| Name = Memory Management
 +
| Articles =
 +
 
 +
{{Article
 +
| name = Memory Management
 
}}
 
}}
  
Line 56: Line 144:
  
 
{{Article
 
{{Article
  | name = Increasing Compiler Speed by Over 75%
+
  | name = Don’t Fear the Reaper - A Basic Introduction to the GC
  | url = http://www.drdobbs.com/cpp/increasing-compiler-speed-by-over-75/240158941#
+
  | url = https://dlang.org/blog/2017/03/20/dont-fear-the-reaper/
  | author = Walter Bright
+
| author = Michael Parker
  | published = July 25 2013
+
| published = March 20, 2017
 +
}}
 +
 
 +
{{Article
 +
| name = Life in the Fast Lane - Introduction to Avoiding the GC and GC Profiling
 +
| url = https://dlang.org/blog/2017/06/16/life-in-the-fast-lane/
 +
| author = Michael Parker
 +
| published = June 16, 2017
 +
}}
 +
 
 +
{{Article
 +
| name = Go Your Own Way (Part One: The Stack)
 +
| url = https://dlang.org/blog/2017/07/07/go-your-own-way-part-one-the-stack/
 +
  | author = Michael Parker
 +
  | published = July 7, 2017
 +
}}
 +
 
 +
{{Article
 +
| name = Go Your Own Way (Part Two: The Heap)
 +
| url = https://dlang.org/blog/2017/09/25/go-your-own-way-part-two-the-heap/
 +
| alt1 = [http://dblog-ext.info/articles/gc-part4.html extended info]
 +
| author = Michael Parker
 +
| published = September 25, 2017
 
}}
 
}}
  
 +
{{Article
 +
| name = Memory Safety
 +
| url = https://jakobovrum.github.io/d/2016/01/20/memory-safety.html
 +
| author = Jakob Øvrum
 +
| published = January 20 2016
 
}}
 
}}
  
 +
}}
  
 
{{Article Group
 
{{Article Group
| Name = Features
+
| Name = Templates
| Articles =
+
| Articles =  
  
 
{{Article
 
{{Article
Line 77: Line 193:
 
  | url = http://nomad.so/2013/07/templates-in-d-explained/
 
  | url = http://nomad.so/2013/07/templates-in-d-explained/
 
  | author = Gary Willoughby
 
  | author = Gary Willoughby
 +
}}
 +
 +
{{Article
 +
| name = The ABC’s of Templates in D
 +
| url = https://dlang.org/blog/2020/07/31/the-abcs-of-templates-in-d/
 +
| author = Michael Parker
 +
| published = July 31, 2020
 
}}
 
}}
  
Line 82: Line 205:
 
  | name = Templates Primer, In D
 
  | name = Templates Primer, In D
 
  | url = https://semitwist.com/articles/article/view/template-primer-in-d
 
  | url = https://semitwist.com/articles/article/view/template-primer-in-d
  | author = Nicholas Sabalausky
+
  | author = Nick Sabalausky ("Nicolas", not "Nicholas")
 
}}
 
}}
  
 
{{Article
 
{{Article
  | name = Understanding Templates in D2
+
  | name = Understanding Templates in D2 (PDF)
  | url = https://github.com/PhilippeSigaud/D-templates-tutorial/blob/master/dtemplates.pdf?raw=true
+
  | url = https://github.com/PhilippeSigaud/D-templates-tutorial/blob/master/D-templates-tutorial.pdf?raw=true
  | alt1 = [https://docs.google.com/viewer?url=https://github.com/PhilippeSigaud/D-templates-tutorial/blob/master/dtemplates.pdf?raw%3Dtrue&pli=1 Google Viewer]
+
  | alt1 = [https://github.com/PhilippeSigaud/D-templates-tutorial/blob/master/D-templates-tutorial.epub?raw=true EPUB]
 
  | author = Philippe Sigaud
 
  | author = Philippe Sigaud
 +
}}
 +
 +
{{Article
 +
| name = Comparison of C++ and D Templates
 +
| url = https://dlang.org/articles/template-comparison.html
 +
}}
 +
 +
}}
 +
 +
{{Article Group
 +
| Name = Features
 +
| Articles =
 +
 +
 +
{{Article
 +
| name = Uniform Function Call Syntax
 +
| url = http://www.drdobbs.com/cpp/uniform-function-call-syntax/232700394
 +
| author = Walter Bright
 +
| published = March 28, 2012
 +
}}
 +
 +
{{Article
 +
| name = Rationale for D built-ins: (Dynamic Arrays, Strings, Associative Arrays)
 +
| url = https://dlang.org/articles/builtin.html
 +
| author =
 +
| published =
 +
}}
 +
 +
{{Article
 +
| name = Understanding Ranges (adapted from Chapter 6 of the book Learning D)
 +
| url = https://www.packtpub.com/books/content/understanding-ranges
 +
| author = Michael Parker
 +
| published = December 2015
 +
}}
 +
 +
{{Article
 +
| name = D's Auto Decoding and You
 +
| url = https://jackstouffer.com/blog/d_auto_decoding_and_you.html
 +
| author = Jack Stouffer
 +
| published = May 2016
 
}}
 
}}
  
Line 102: Line 265:
 
  | url = http://www.drdobbs.com/cpp/inheriting-purity/232601305
 
  | url = http://www.drdobbs.com/cpp/inheriting-purity/232601305
 
  | author = Walter Bright
 
  | author = Walter Bright
  | published = Feb 22 2012
+
  | published = February 22, 2012
 +
}}
 +
 
 +
{{Article
 +
| name = Unit Testing In Action
 +
| url = https://dlang.org/blog/2017/10/20/unit-testing-in-action/
 +
| author = Mario Kröplin
 +
| published = October 20, 2017
 +
}}
 +
 
 +
{{Article
 +
| name = Compile-Time Sort in D
 +
| url = https://dlang.org/blog/2017/06/05/compile-time-sort-in-d/
 +
| author = Michael Parker
 +
| published = June 5, 2017
 +
}}
 +
 
 +
{{Article
 +
| name = D Slices
 +
| url = https://dlang.org/d-array-article.html
 +
| author = Steven Schveighoffer
 +
| published = 2011-2012
 
}}
 
}}
  
Line 111: Line 295:
 
}}
 
}}
  
 +
{{Article Group
 +
| Name = Modules
 +
| Articles =
 +
 +
{{Article
 +
| name = Introduction to std.datetime
 +
| url = https://dlang.org/articles/intro-to-datetime.html
 +
| author = Jonathan M Davis
 +
| published = 2011
 +
}}
 +
 +
{{Article
 +
| name = std.variant Is Everything Cool About D
 +
| url = https://dlang.org/blog/2018/03/29/std-variant-is-everything-cool-about-d/
 +
| author = Jared Hanson
 +
| published = March 29, 2018
 +
}}
 +
 +
}}
  
 
{{Article Group
 
{{Article Group
Line 120: Line 323:
 
  | url = http://www.drdobbs.com/architecture-and-design/component-programming-in-d/240008321
 
  | url = http://www.drdobbs.com/architecture-and-design/component-programming-in-d/240008321
 
  | author = Walter Bright
 
  | author = Walter Bright
  | published = Oct 02 2012
+
  | published = October 2, 2012
 
}}
 
}}
  
 
{{Article
 
{{Article
  | name = Component Programming with Ranges
+
  | name = Component programming with ranges  
  | url = http://wiki.dlang.org/Component_programming_with_ranges
 
 
  | author = H. S. Teoh
 
  | author = H. S. Teoh
  | published = Aug 06 2013
+
  | published = August 6, 2013
 
}}
 
}}
  
 
}}
 
}}
 
  
 
{{Article Group
 
{{Article Group
| Name = Science
+
| Name = Concurrency
 
| Articles =
 
| Articles =
  
 
{{Article
 
{{Article
  | name = A Mathematician looks at D
+
  | name = Concurrency in the D Programming Language
  | url = http://mathprogrammer.com/blog/
+
  | url = http://www.informit.com/articles/article.aspx?p=1609144
  | author = wbhart
+
  | author = Andrei Alexandrescu
  | published = February 18, 2013
+
  | published = July 6, 2010
 
}}
 
}}
  
 +
{{Article
 +
| name = Getting more fiber in your diet
 +
| url = http://octarineparrot.com/article/view/getting-more-fiber-in-your-diet
 +
| author = OctarineParrot DevLog
 +
}}
  
 +
{{Article
 +
| name = Go to D
 +
| author = Jin
 
}}
 
}}
  
 +
}}
  
 
{{Article Group
 
{{Article Group
| Name = Concurrency
+
| Name = Operating System Development
 +
| Articles =
 +
 
 +
{{Article
 +
| name = D Bare Bones
 +
| url = http://wiki.osdev.org/D_Bare_Bones
 +
| author = Unknown
 +
}}
 +
 
 +
}}
 +
 
 +
{{Article Group
 +
| Name = Metaprogramming
 
| Articles =
 
| Articles =
  
 
{{Article
 
{{Article
  | name = Getting more fiber in your diet
+
  | name = Have Your Efficiency, and Flexibility Too - Metaprogramming Techniques For No-Compromise Code
  | url = http://octarineparrot.com/article/view/getting-more-fiber-in-your-diet
+
  | url = http://www.semitwist.com/articles/EfficientAndFlexible/SinglePage/
  | author = OctarineParrot DevLog
+
  | author = Nick Sabalausky ("Nicolas", not "Nicholas")
 
}}
 
}}
  
 +
{{Article
 +
| name = Transforming an array/slice of structs into a struct of arrays/slices using metaprogramming
 +
| url = http://wiki.dlang.org/Transforming_slice_of_structs_into_struct_of_slices
 +
| author = Laeeth Isharc for the D forums
 +
}}
  
 +
{{Article
 +
| name = Compile-time vs. compile-time
 +
| author = H. S. Teoh
 +
| published = March, 2017
 
}}
 
}}
  
 +
}}
  
 
{{Article Group
 
{{Article Group
Line 184: Line 416:
 
}}
 
}}
  
 +
{{Article
 +
  | name = DMD, Windows and C
 +
  | url = https://dlang.org/blog/2017/10/25/dmd-windows-and-c/
 +
  | author = Michael Parker
 +
  | published = October 25, 2017
 +
}}
  
 
}}
 
}}
Line 190: Line 428:
 
| Name = Interfacing to C
 
| Name = Interfacing to C
 
| Articles =
 
| Articles =
 +
 +
{{Article
 +
| name = Interfacing D with C: Getting Started
 +
| url = https://dlang.org/blog/2017/12/05/interfacing-d-with-c-getting-started/
 +
| author =  Michael Parker
 +
| published = December 05, 2017
 +
}}
  
 
{{Article
 
{{Article
 
  | name = D Exceptions and C Callbacks
 
  | name = D Exceptions and C Callbacks
 
  | url = http://www.gamedev.net/page/resources/_/technical/general-programming/d-exceptions-and-c-callbacks-r3323
 
  | url = http://www.gamedev.net/page/resources/_/technical/general-programming/d-exceptions-and-c-callbacks-r3323
  | author =  Mike "Aldacron" Parker
+
  | author =  Michael Parker
 
}}
 
}}
  
Line 200: Line 445:
 
  | name = Binding D to C Part 1
 
  | name = Binding D to C Part 1
 
  | url = http://www.gamedev.net/blog/1140/entry-2254003-binding-d-to-c/
 
  | url = http://www.gamedev.net/blog/1140/entry-2254003-binding-d-to-c/
  | author =  Mike "Aldacron" Parker
+
  | author =  Michael Parker
 
}}
 
}}
  
Line 206: Line 451:
 
  | name = Binding D to C Part 2
 
  | name = Binding D to C Part 2
 
  | url = http://www.gamedev.net/blog/1140/entry-2254108-binding-d-to-c-part-two/
 
  | url = http://www.gamedev.net/blog/1140/entry-2254108-binding-d-to-c-part-two/
  | author =  Mike "Aldacron" Parker
+
  | author =  Michael Parker
 
}}
 
}}
  
Line 212: Line 457:
 
  | name = Binding D to C Part 3
 
  | name = Binding D to C Part 3
 
  | url = http://www.gamedev.net/blog/1140/entry-2254632-binding-d-to-c-part-three/
 
  | url = http://www.gamedev.net/blog/1140/entry-2254632-binding-d-to-c-part-three/
  | author =  Mike "Aldacron" Parker
+
  | author =  Michael Parker
 
}}
 
}}
  
Line 218: Line 463:
 
  | name = Binding D to C Part 4
 
  | name = Binding D to C Part 4
 
  | url = http://www.gamedev.net/blog/1140/entry-2254910-binding-d-to-c-part-four/
 
  | url = http://www.gamedev.net/blog/1140/entry-2254910-binding-d-to-c-part-four/
  | author =  Mike "Aldacron" Parker
+
  | author =  Michael Parker
 
}}
 
}}
  
Line 224: Line 469:
 
  | name =  Binding D to C Part 5
 
  | name =  Binding D to C Part 5
 
  | url = http://www.gamedev.net/blog/1140/entry-2255632-binding-d-to-c-part-five/
 
  | url = http://www.gamedev.net/blog/1140/entry-2255632-binding-d-to-c-part-five/
  | author =  Mike "Aldacron" Parker
+
  | author =  Michael Parker
 
}}
 
}}
  
 
}}
 
}}
 +
 +
== See also ==
 +
*[[Interviews]]
 +
*[[Videos]]
 +
 +
[[Category:Learn]]

Latest revision as of 04:29, 14 September 2022

Beginning

General

Memory Management

Templates

Features

Modules

Architecture and Design

Concurrency

Operating System Development

Metaprogramming

Windows Specific

Interfacing to C

See also