Welcome to 2014!
The latest version of D is 2.067 as of writing this. D is slightly unstable in regards to auto
, but other than that, I don't see why not to use D. The compilers are what have greatly improved.
D in my opinion is easier to read than C++, and easier to learn. It contains an interface to C and a partial interface to C++. It even allows inline assembly that can interact with your variables. The D standard library is called Phobos.
I highly suggest D. D was made for efficiency. According to Adam D. Ruppe, "[C is] equally fast". And C is one of the fastest languages out there. So if you want to build a game with the speed of C and the high-level capabilities of C++, D sits right there inbetween. If you have any questions, feel free to join irc.freenode.net #d.
To sum it all up, D is basically the safe version of C++. While the language is multi-paradigm, including OOP, much emphasis was put on the FP paradigm, using pure
functions and immutability. All objects have an init
property so if you declare 'int foo;', it is initialized to int.init
. Yes, there are still pointers. Pointers in D are called lvalue and values are called rvalue. An lvalue always points to an rvalue.
For more information, visit the official D site, http://www.dlang.org/ .