Difference between revisions of "Articles"

From D Wiki
Jump to: navigation, search
m (The PDF file name has changed from dtemplates.pdf to D-templates-tutorial.pdf)
(Template Comparison)
(42 intermediate revisions by 11 users not shown)
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 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 = Mar 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 43: Line 76:
  
 
{{Article
 
{{Article
  | name = Uniform Function Call Syntax
+
  | name = Increasing Compiler Speed by Over 75%
  | url = http://www.drdobbs.com/cpp/uniform-function-call-syntax/232700394
+
  | url = http://www.drdobbs.com/cpp/increasing-compiler-speed-by-over-75/240158941#
 +
| author = Walter Bright
 +
| published = July 25 2013
 +
}}
 +
 
 +
{{Article
 +
| name = DCompute: Running D on the GPU
 +
| 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 131:
  
 
{{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 86: Line 189:
  
 
{{Article
 
{{Article
  | name = Understanding Templates in D2
+
  | name = Understanding Templates in D2 (PDF)
 
  | url = https://github.com/PhilippeSigaud/D-templates-tutorial/blob/master/D-templates-tutorial.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 = Mar 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 103: Line 246:
 
  | author = Walter Bright
 
  | author = Walter Bright
 
  | published = Feb 22 2012
 
  | published = Feb 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 = Oct 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 275:
 
}}
 
}}
  
 +
{{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 124: Line 307:
  
 
{{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 = Aug 06 2013
Line 131: Line 313:
  
 
}}
 
}}
 
  
 
{{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 = Jul 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 =
 
| Articles =
  
 
{{Article
 
{{Article
  | name = Getting more fiber in your diet
+
  | name = D Bare Bones
  | url = http://octarineparrot.com/article/view/getting-more-fiber-in-your-diet
+
  | url = http://wiki.osdev.org/D_Bare_Bones
  | author = OctarineParrot DevLog
+
  | author = Unknown
 +
}}
 +
 
 
}}
 
}}
  
 +
{{Article Group
 +
| Name = Metaprogramming
 +
| Articles =
  
 +
{{Article
 +
| name = Have Your Efficiency, and Flexibility Too - Metaprogramming Techniques For No-Compromise Code
 +
| url = http://www.semitwist.com/articles/EfficientAndFlexible/SinglePage/
 +
| author = Nicholas Sabalausky
 
}}
 
}}
  
 +
{{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 Group
 
{{Article Group
Line 184: Line 390:
 
}}
 
}}
  
 +
{{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 402:
 
| 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 = Dec 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 419:
 
  | 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 425:
 
  | 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 431:
 
  | 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 437:
 
  | 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 443:
 
  | 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:Tutorials]]

Revision as of 01:34, 24 December 2018

Beginning

General

Memory Management

Templates

Features

Modules

Architecture and Design

Concurrency

Operating System Development

Metaprogramming

Windows Specific

Interfacing to C

See also