Difference between revisions of "Articles"
m (Added the UFCS acronym so the link can easily be found using search engines) |
(Fixed my name) |
||
(73 intermediate revisions by 19 users not shown) | |||
Line 1: | Line 1: | ||
− | == | + | {{Article Group |
− | + | | Name = Beginning | |
+ | | Articles = | ||
− | == | + | {{Article |
− | + | | name = Dispelling Common D Myths | |
− | + | | url = http://semitwist.com/articles/article/view/dispelling-common-d-myths | |
− | + | | author = Nick Sabalausky ("Nicolas", not "Nicholas") | |
− | + | }} | |
− | |||
− | == | + | {{Article |
− | + | | name = "D"iving Into the D Programming Language | |
+ | | url = http://www.informit.com/articles/article.aspx?p=1381876 | ||
+ | | author = Andrei Alexandrescu | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = D: A Newbie-Oriented Tutorial | ||
+ | | url = http://compsci.ca/v3/viewtopic.php?t=9518 | ||
+ | | author = Andrei Alexandrescu | ||
+ | }} | ||
+ | |||
+ | {{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 | ||
+ | | Name = General | ||
+ | | 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 | ||
+ | | name = NaNs Just Don't Get No Respect | ||
+ | | url = http://www.drdobbs.com/cpp/nans-just-dont-get-no-respect/240005723 | ||
+ | | author = Walter Bright | ||
+ | | published = August 16, 2012 | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Voldemort Types In D | ||
+ | | url = http://www.drdobbs.com/cpp/voldemort-types-in-d/232901591 | ||
+ | | author = Walter Bright | ||
+ | | 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 | ||
+ | | 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 | ||
+ | | 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 | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Real World Comparison, GC vs. Manual Memory Management | ||
+ | | url = http://3d.benjamin-thaut.de/?p=20 | ||
+ | | author = Benjamin Thaut | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Don’t Fear the Reaper - A Basic Introduction to the GC | ||
+ | | url = https://dlang.org/blog/2017/03/20/dont-fear-the-reaper/ | ||
+ | | author = Michael Parker | ||
+ | | 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 | ||
+ | | Name = Templates | ||
+ | | Articles = | ||
+ | |||
+ | {{Article | ||
+ | | name = Introduction to D templates | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Templates in D Explained | ||
+ | | url = http://nomad.so/2013/07/templates-in-d-explained/ | ||
+ | | 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 | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Templates Primer, In D | ||
+ | | url = https://semitwist.com/articles/article/view/template-primer-in-d | ||
+ | | author = Nick Sabalausky ("Nicolas", not "Nicholas") | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Understanding Templates in D2 (PDF) | ||
+ | | url = https://github.com/PhilippeSigaud/D-templates-tutorial/blob/master/D-templates-tutorial.pdf?raw=true | ||
+ | | alt1 = [https://github.com/PhilippeSigaud/D-templates-tutorial/blob/master/D-templates-tutorial.epub?raw=true EPUB] | ||
+ | | 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 | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Purity in D | ||
+ | | url = http://klickverbot.at/blog/2012/05/purity-in-d/ | ||
+ | | author = David Nadlinger | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Inheriting Purity | ||
+ | | url = http://www.drdobbs.com/cpp/inheriting-purity/232601305 | ||
+ | | author = Walter Bright | ||
+ | | 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 | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Defining custom print format specifiers | ||
+ | }} | ||
+ | |||
+ | }} | ||
+ | |||
+ | {{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 | ||
+ | | Name = Architecture and Design | ||
+ | | Articles = | ||
+ | |||
+ | {{Article | ||
+ | | name = Component Programming in D | ||
+ | | url = http://www.drdobbs.com/architecture-and-design/component-programming-in-d/240008321 | ||
+ | | author = Walter Bright | ||
+ | | published = October 2, 2012 | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Component programming with ranges | ||
+ | | author = H. S. Teoh | ||
+ | | published = August 6, 2013 | ||
+ | }} | ||
+ | |||
+ | }} | ||
+ | |||
+ | {{Article Group | ||
+ | | Name = Concurrency | ||
+ | | Articles = | ||
+ | |||
+ | {{Article | ||
+ | | name = Concurrency in the D Programming Language | ||
+ | | url = http://www.informit.com/articles/article.aspx?p=1609144 | ||
+ | | author = Andrei Alexandrescu | ||
+ | | 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 | ||
+ | | 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 = | ||
+ | |||
+ | {{Article | ||
+ | | name = Have Your Efficiency, and Flexibility Too - Metaprogramming Techniques For No-Compromise Code | ||
+ | | url = http://www.semitwist.com/articles/EfficientAndFlexible/SinglePage/ | ||
+ | | 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 | ||
+ | | Name = Windows Specific | ||
+ | | Articles = | ||
+ | |||
+ | {{Article | ||
+ | | name = Compiling and linking with DMD on Windows | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Linking With Unilink | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Using Windows Resource Files with D2 | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Programming Windows code samples translated to D2 | ||
+ | | url = https://github.com/AndrejMitrovic/DWinProgramming | ||
+ | | author = Andrej Mitrovic | ||
+ | }} | ||
+ | |||
+ | {{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 | ||
+ | }} | ||
+ | |||
+ | }} | ||
+ | |||
+ | {{Article Group | ||
+ | | Name = Interfacing to C | ||
+ | | 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 | ||
+ | | name = D Exceptions and C Callbacks | ||
+ | | url = http://www.gamedev.net/page/resources/_/technical/general-programming/d-exceptions-and-c-callbacks-r3323 | ||
+ | | author = Michael Parker | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Binding D to C Part 1 | ||
+ | | url = http://www.gamedev.net/blog/1140/entry-2254003-binding-d-to-c/ | ||
+ | | author = Michael Parker | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Binding D to C Part 2 | ||
+ | | url = http://www.gamedev.net/blog/1140/entry-2254108-binding-d-to-c-part-two/ | ||
+ | | author = Michael Parker | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Binding D to C Part 3 | ||
+ | | url = http://www.gamedev.net/blog/1140/entry-2254632-binding-d-to-c-part-three/ | ||
+ | | author = Michael Parker | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Binding D to C Part 4 | ||
+ | | url = http://www.gamedev.net/blog/1140/entry-2254910-binding-d-to-c-part-four/ | ||
+ | | author = Michael Parker | ||
+ | }} | ||
+ | |||
+ | {{Article | ||
+ | | name = Binding D to C Part 5 | ||
+ | | url = http://www.gamedev.net/blog/1140/entry-2255632-binding-d-to-c-part-five/ | ||
+ | | author = Michael Parker | ||
+ | }} | ||
+ | |||
+ | }} | ||
+ | |||
+ | == See also == | ||
+ | *[[Interviews]] | ||
+ | *[[Videos]] | ||
+ | |||
+ | [[Category:Learn]] |
Latest revision as of 04:29, 14 September 2022
Contents
Beginning
- The Case for D - Andrei Alexandrescu - June 15, 2009
- Getting Started with the D Programming Language - Michael Parker
- Sockets introduction - Adam D. Ruppe - November 11, 2019
General
- Functional image processing in D - Vladimir Panteleev - March 21, 2014
- Implementing Pure Functions - Walter Bright - June 15, 2011
- NaNs Just Don't Get No Respect - Walter Bright - August 16, 2012
- Voldemort Types In D - Walter Bright - May 07, 2012
- Increasing Compiler Speed by Over 75% - Walter Bright - July 25, 2013
- DCompute: Running D on the GPU - Nicholas Wilson - October 30, 2017
- Faster Command Line Tools in D - Jon Degenhardt - May 24, 2017
- D as a Better C - Walter Bright - August 23, 2017
Memory Management
- Don’t Fear the Reaper - A Basic Introduction to the GC - Michael Parker - March 20, 2017
- Life in the Fast Lane - Introduction to Avoiding the GC and GC Profiling - Michael Parker - June 16, 2017
- Go Your Own Way (Part One: The Stack) - Michael Parker - July 7, 2017
- Go Your Own Way (Part Two: The Heap) (extended info) - Michael Parker - September 25, 2017
- Memory Safety - Jakob Øvrum - January 20 2016
Templates
- The ABC’s of Templates in D - Michael Parker - July 31, 2020
Features
- Uniform Function Call Syntax - Walter Bright - March 28, 2012
- Understanding Ranges (adapted from Chapter 6 of the book Learning D) - Michael Parker - December 2015
- D's Auto Decoding and You - Jack Stouffer - May 2016
- Inheriting Purity - Walter Bright - February 22, 2012
- Unit Testing In Action - Mario Kröplin - October 20, 2017
- Compile-Time Sort in D - Michael Parker - June 5, 2017
- D Slices - Steven Schveighoffer - 2011-2012
Modules
- std.variant Is Everything Cool About D - Jared Hanson - March 29, 2018
Architecture and Design
- Component Programming in D - Walter Bright - October 2, 2012
- Component programming with ranges - H. S. Teoh - August 6, 2013
Concurrency
- Concurrency in the D Programming Language - Andrei Alexandrescu - July 6, 2010
Operating System Development
Metaprogramming
- Have Your Efficiency, and Flexibility Too - Metaprogramming Techniques For No-Compromise Code - Nick Sabalausky ("Nicolas", not "Nicholas")
- Transforming an array/slice of structs into a struct of arrays/slices using metaprogramming - Laeeth Isharc for the D forums
- Compile-time vs. compile-time - H. S. Teoh - March, 2017
Windows Specific
- DMD, Windows and C - Michael Parker - October 25, 2017
Interfacing to C
- Interfacing D with C: Getting Started - Michael Parker - December 05, 2017