Torvalds Wrote:The slogan of Subversion for a while was "CVS done right", or something like that, and if you start with that kind of slogan, there's nowhere you can go. There is no way to do CVS right.

Since they break compatibility with C, they lose the one of the major reasons I'd ever even think of using C++ to begin with, even though it was the only real way to clean up C/C++'s weirdness. Since they still managed to create an incredibly bloated language, they lost the reason why I'd ever consider using D over C++.

It has a massive schism between the two leading standard libraries, Tango and Phobos. They recently unified the runtime so you can use both simultaneously, but the main reason I do not use D any more is because it lacks good tools. It's OpenGL bindings are just C pass-throughs; most of the interesting libraries that you might want to use have been abandoned before the Tango/Phobos unification.

In short, I do not suggest it. If you ever want to deploy to iOS (or think that you might want to in the future), I strongly recommend using a mix of Objective-C and C++ to accomplish your goals. If you do want to experiment with D, I do have some tools that can get you going. The tools are (VERY) stale, predating the Tango/Phobos unification. But it does get you DWT, which is a re-implementation of SWT (a Java-style widget toolkit). It also gets you Derelict, the OpenGL bindings for D, as well as DSSS, a build tool. Alas! it was for Windows, but it's there should you want it. (See bottom of post for link).

TL;DR: It's a delightful language that is fast and expressive. However, insufficient libraries and tools make it really hard to use effectively without rolling your own stuff for a lot of different things. I have an installer for it that you can use on Windows (tested for Windows XP and Vista) to get yourself going.