D-Proglanguage

toc
 * Home * Programming * Languages * D-Programming Language**


 * D** is a programming language developed by [|Walter Bright] from [|Digital Mars] . 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). D is in the Top 30 of the [|TIOBE index].

=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= 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

=Suitable for Chess Programming= Althought it looks like D has tons of advantages over C/C++ in terms if a modern language, two problems might be woth to know
 * It has been reported that D is not as good in bit fiddeling as C / C++ if you are using chess magic
 * It is unknown if the garbage collector has any impact on predictable results

D has the following native features:  =D Engines= Dynamic list with tag 'dengine'. Engines (at least some versions) written in D: > include component="pageList" hideInternal="true" tag="dengine" limit="20"
 * Easy string handling
 * Static and dynamic arrays + hashes
 * [|Overloading], default parameters, varargs
 * 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]
 * Direct C access and normal debugger support
 * [|Contract programming]
 * Subset of constructs for easy [|functional programming]
 * and much more...

=Publications=
 * [|Andrej Alexandrescu] (**2010**). //[|The D Programming Language]//. [|Addison-Wesley] Professional. ISBN [|978-0321635365]

=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
 * [|programming languages - What does C++ do better than D? - Programmers - Stack Exchange]

=External Links=
 * [|D Homepage]
 * [|D from Wikipedia]
 * [|Wiki4D: FrontPage]
 * [|Learn D Programming]
 * [|TutorialFundamentals - tutorials - dsource.org]
 * [|Language Description]
 * [|goshawk / gdc / wiki / Home — Bitbucket]

=References= =What links here?= include page="D-Proglanguage" component="backlinks" limit="40"
 * Up one Level**