I got a D for programming

D

Occasionally when I get a free moment I’ve been checking out D, a programming language from Digital Mars, and decided it was time to write down my thoughts.

D is syntactically in the C family (C, C++, C#, Java) but isn’t an evolution from one of those languages.  Instead, it’s more like C++ redesigned with modern features from Java and C# (and C++0x).

From a C++ perspective, some of D’s features that interest me are garbage collection, modules, anonymous & nested functions, contract programming, and auto type inference.

D compiles to machine code so doesn’t have the overhead of a runtime framework or virtual machine.  The language keeps a lot of C++ features, including multi-paradigm programming, though isn’t fully backwards compatible with C/C++ code.  Although a D compiler can’t compile C/C++ code, a D program can call C and C++ functions, though with restrictions for C++.

So far I’ve been quite impressed with D.  It’s still a very young language, though, and doesn’t have a lot of commercial support or backing.  Only Digital Mars and GNU have compilers for it.  It seems quite popular in open source circles, but I think D really needs an IBM/Microsoft/Borland/Apple to get behind it.

I shall report back sometime in the future after I’ve had a chance to play more with it.

Leave a Reply