Difference between revisions of "Articles"
Davideagen (talk | contribs) (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 | + | | 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 = | + | | 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 = | + | | name = DCompute: Running D on the GPU |
− | | url = | + | | 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 = | + | | 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 = | + | | name = Don’t Fear the Reaper - A Basic Introduction to the GC |
− | | url = | + | | url = https://dlang.org/blog/2017/03/20/dont-fear-the-reaper/ |
− | | author = | + | | author = Michael Parker |
− | | published = July 25 | + | | 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 = | + | | 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 | + | | 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/ | + | | url = https://github.com/PhilippeSigaud/D-templates-tutorial/blob/master/D-templates-tutorial.pdf?raw=true |
− | | alt1 = [ | + | | 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 = | + | | 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 = | + | | published = October 2, 2012 |
}} | }} | ||
{{Article | {{Article | ||
− | | name = Component | + | | name = Component programming with ranges |
− | |||
| author = H. S. Teoh | | author = H. S. Teoh | ||
− | | published = | + | | published = August 6, 2013 |
}} | }} | ||
}} | }} | ||
− | |||
{{Article Group | {{Article Group | ||
− | | Name = | + | | Name = Concurrency |
| Articles = | | Articles = | ||
{{Article | {{Article | ||
− | | name = | + | | name = Concurrency in the D Programming Language |
− | | url = http:// | + | | url = http://www.informit.com/articles/article.aspx?p=1609144 |
− | | author = | + | | author = Andrei Alexandrescu |
− | | published = | + | | 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 = | + | | 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 = | + | | name = Have Your Efficiency, and Flexibility Too - Metaprogramming Techniques For No-Compromise Code |
− | | url = http:// | + | | url = http://www.semitwist.com/articles/EfficientAndFlexible/SinglePage/ |
− | | author = | + | | 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 = | + | | 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 = | + | | 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 = | + | | 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 = | + | | 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 = | + | | 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 = | + | | 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