The detailed overview of the language should give you the big picture.
Now if you are looking for reasons to start using D you are probably also looking for reasons not to use it. This was pointed out by Andrei Alexandrescu in The Case for D, "Trying to find quick reasons to avoid [learning a new language] is a survival instinct." And like any language there are reasons not to use D, but you might find that they don't apply to you or that the benefits are greater.
A. Alexandrescu: Three Unlikely Successful Features of D (2012)
A. Alexandrescu: Generic Programming Galore Using D(2012)
A. lexandrescu: Three Cool Things About D - The Case for the D Programing Language (2010)
W. Bright: Metaprogramming in D(2009)
Here is a list of older videos relating to D.
- D. Clugston Real Close to the Machine: Floating Point in D
- S. Schweighoffer D Slices
- B. Mileswski Safe D
- Uniform function call syntax(2012)
- Inheriting purity(2012)
- Type Qualifiers and Wild Cards(2011)
- Member function pointers(2011)
A. Alexandrescu wrote several equally important articles :
- Interview part 1 part 2 part 3(2010)
- Concurrency in the D Programming Language(2010) (from The D Programming Language book)
- On iteration(2009)
- Case For D(2009)
- N. Sabalausky Combine Coroutines and Input Ranges for Dead-Simple D Iteration
Each language has a preferred application domain. D's sweet spot is high performance desktop and server side applications. It does a very good job of bringing low-level performance] in the order of C++ with the safety and expressivity of languages like Java or Python. In fact, nearly everywhere Java is suitable, D could replace it, bringing in more expressive power, better performance and better memory management. Although its current libraries are nowhere near extensive as the Java libraries, most fundamental bricks are already here. You may want to have a look at Phobos and Deimos libraries, as well as third-party libraries to make your own opinion on that matter. A very nice port of Java's SWT library has been created under the name DWT.
Being targetted at 32 bit and 64 bit machines, D is not designed for embedded development on small devices. However, with the advent of Android and iOS smartphones which embed powerful CPUs and large amounts of RAM, D may be suitable for such development. The GCC and LLVM compiler backends being able to target these devices, the community is making progress.
Find out more at StackOverflow:
- Getting Embedded with D (the programming language)
- How would you approach using D in a embedded real-time environment?
Since D provides type inference, high-level constructs, and fast compile-time it is a great language for writing scripts. The first line of the file is ignored if it begins with #! and combining this with rdmd which handles dependency resolution, D becomes a leader in machine-code scripting language.
Walter works to make D a practical language while providing the benefits found in languages that strictly stick to a single paradigm. If you enjoy languages D is interesting in the way it combines many paradigms in a C-like syntax.
- Learning D as a second language
- Language Specification
- Setting up an environment to compile programs
- Development with D
- Frequently Asked Questions
- Current uses of D