Difference between revisions of "D (Programming Language)"
GerdIsenberg (talk | contribs) (Created page with "'''Home * Programming * Languages * D-Programming Language''' '''D''',<br/> a programming language developed by [https://en.wikipedia.org/wiki/Walter_Br...") |
GerdIsenberg (talk | contribs) |
||
(One intermediate revision by the same user not shown) | |||
Line 44: | Line 44: | ||
=Publications= | =Publications= | ||
− | * [https://en.wikipedia.org/wiki/Andrei_Alexandrescu Andrej Alexandrescu] ('''2010'''). ''[https://www.oreilly.com/library/view/the-d-programming/9780321659538/ The D Programming Language]''. [https://en.wikipedia.org/wiki/Addison-Wesley Addison-Wesley] Professional <ref>The D Programming Language with Andrei Alexandrescu, [https://en.wikipedia.org/wiki/YouTube YouTube] Video<br/>{{#evu:https://www.youtube.com/watch?v=QXJB7TXhbHc|alignment=left|valignment=top}}</ref> | + | * [https://en.wikipedia.org/wiki/Andrei_Alexandrescu Andrej Alexandrescu] ('''2010'''). ''[https://www.oreilly.com/library/view/the-d-programming/9780321659538/ The D Programming Language]''. [https://en.wikipedia.org/wiki/Addison-Wesley Addison-Wesley] Professional <ref>The D Programming Language with [https://erdani.com/ Andrei Alexandrescu], [https://en.wikipedia.org/wiki/YouTube YouTube] Video<br/>{{#evu:https://www.youtube.com/watch?v=QXJB7TXhbHc|alignment=left|valignment=top}}</ref> |
=Forum Posts= | =Forum Posts= | ||
* [http://www.digitalmars.com/d/archives/digitalmars/D/gdc_and_the_Computer_Language_Benchmarks_Game_55053.html#N55053 digitalmars.D - gdc and the Computer Language Benchmarks Game] by [[Guido Schimmels]], [http://dlang.org/index.html digitalmars.D], June 28, 2007 | * [http://www.digitalmars.com/d/archives/digitalmars/D/gdc_and_the_Computer_Language_Benchmarks_Game_55053.html#N55053 digitalmars.D - gdc and the Computer Language Benchmarks Game] by [[Guido Schimmels]], [http://dlang.org/index.html digitalmars.D], June 28, 2007 | ||
* [http://talkchess.com/forum/viewtopic.php?topic_view=threads&p=414767&t=39683 Re: c vs c++] by [[Brian Haskin]], [[CCC]], July 14, 2011 | * [http://talkchess.com/forum/viewtopic.php?topic_view=threads&p=414767&t=39683 Re: c vs c++] by [[Brian Haskin]], [[CCC]], July 14, 2011 | ||
+ | * [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=49675 Are there any chess engines written in D?] by [[Russell Reagan]], [[CCC]], October 12, 2013 | ||
* [http://programmers.stackexchange.com/questions/97207/what-does-c-do-better-than-d programming languages - What does C++ do better than D? - Programmers - Stack Exchange] | * [http://programmers.stackexchange.com/questions/97207/what-does-c-do-better-than-d programming languages - What does C++ do better than D? - Programmers - Stack Exchange] | ||
Line 54: | Line 55: | ||
* [https://dlang.org/ Home - D Programming Language] | * [https://dlang.org/ Home - D Programming Language] | ||
* [https://en.wikipedia.org/wiki/D_programming_language D from Wikipedia] | * [https://en.wikipedia.org/wiki/D_programming_language D from Wikipedia] | ||
− | + | * [https://digitalmars.com/d/2.0/index.html Intro - D Programming Language 2.0 - Digital Mars] | |
− | * [https://digitalmars.com/d/2.0/index.html | ||
* [https://gdcproject.org/ GDC - D Programming Language for GCC] | * [https://gdcproject.org/ GDC - D Programming Language for GCC] | ||
* [https://github.com/D-Programming-GDC D-Programming-GDC · GitHub] | * [https://github.com/D-Programming-GDC D-Programming-GDC · GitHub] | ||
+ | * [http://www.prowiki.org/wiki4d/wiki.cgi Wiki4D: FrontPage] | ||
* [https://dconf.org/2019/index.html DConf 2019] Day 1 [https://dconf.org/2019/talks/bright.html Keynote]: Allocating Memory with the D Programming Language - [https://en.wikipedia.org/wiki/Walter_Bright Walter Bright], [https://en.wikipedia.org/wiki/YouTube YouTube] Video | * [https://dconf.org/2019/index.html DConf 2019] Day 1 [https://dconf.org/2019/talks/bright.html Keynote]: Allocating Memory with the D Programming Language - [https://en.wikipedia.org/wiki/Walter_Bright Walter Bright], [https://en.wikipedia.org/wiki/YouTube YouTube] Video | ||
: {{#evu:https://www.youtube.com/watch?v=_PB6Hdi4R7M|alignment=left|valignment=top}} | : {{#evu:https://www.youtube.com/watch?v=_PB6Hdi4R7M|alignment=left|valignment=top}} |
Latest revision as of 10:35, 9 April 2020
Home * Programming * Languages * D-Programming Language
D,
a programming language developed by Walter Bright from Digital Mars [1]
[2].
The first stable version was released 2007. Walter Bright designed many other compilers as the first native compiler, the Zortech C++ compiler, the Symantec C++ compiler, and the Digital Mars C++ Compiler and many C compilers (as the Datalight C compiler).
Andrej Alexandrescu joined the design and development effort in 2007. D is a distinct language and has redesigned some core C++ features, while also sharing characteristics from Java, Python, Ruby, C#, and Eiffel [3].
D is in the Top 20 of the TIOBE index [4] .
Contents
Design Principles
The design principles have been to write a compiler for a language that:
- is fast without any compromise
- has a clean syntax free of the C++ quirks
- has all modern concepts of interpreted languages. In fact D has some Ruby + Python elements that make programming fun.
- is easy to learn for C and C++ programmers
Native Features
- Easy string handling
- Static and dynamic arrays + hashes
- Overloading, default parameters, varargs
- Direct C access and debugger support
- Contract programming
- Subset of constructs for easy functional programming
- Nested functions (as Macros)
- Classes and inheritance and Modules/Mixins and templates
- Advanced testing features as contract programming and class invariants
- Thread and fiber support (actors in work)
- Exception handling
- Automatic or explicit garbage collection: use internal GC or free / malloc as you like.
- Closures
- and more...
Suitable for Chess Programming
D might be a competitive choice for chess programming because:
- The performance / speed is comparable to C / C++
- It has ulong (8 bytes) and is very data-type rich
Althought it looks like D has advantages over C/C++ in terms if a modern language, two possible problems might be worth to know
- Bit-twiddling optimizations
- Impact of Garbage collection on predictable results
D Engines
Publications
- Andrej Alexandrescu (2010). The D Programming Language. Addison-Wesley Professional [5]
Forum Posts
- digitalmars.D - gdc and the Computer Language Benchmarks Game by Guido Schimmels, digitalmars.D, June 28, 2007
- Re: c vs c++ by Brian Haskin, CCC, July 14, 2011
- Are there any chess engines written in D? by Russell Reagan, CCC, October 12, 2013
- programming languages - What does C++ do better than D? - Programmers - Stack Exchange
External Links
- Home - D Programming Language
- D from Wikipedia
- Intro - D Programming Language 2.0 - Digital Mars
- GDC - D Programming Language for GCC
- D-Programming-GDC · GitHub
- Wiki4D: FrontPage
- DConf 2019 Day 1 Keynote: Allocating Memory with the D Programming Language - Walter Bright, YouTube Video
References
- ↑ The D Programming Language - Walter Bright Interview by Huw Collingbourne and Dermot Hogan, Bitwise Magazine
- ↑ The A-Z of Programming Languages: D - Walter Bright talks about D and his desire to improve on systems programming language, Computerworld
- ↑ D (programming language) from Wikipedia
- ↑ TIOBE Software: Tiobe Index
- ↑ The D Programming Language with Andrei Alexandrescu, YouTube Video