I got a D for programming

October 24, 2008

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.


VC++ Headers

October 16, 2008

It annoys me that changing/adding a comment in a C++ header file means that the next build has to recompile all source files that include that header, even though no code has changed.

This can have a massive impact on build times, especially when you use a documentation generator (ala Doxygen) and have to keep the comments up-to-date in the class header files.

It can’t be that hard for VS to track edits to real code as opposed to comments, can it?


President ‘That One’

October 8, 2008


The Worst Wine Ever

October 7, 2008

We recently tried a Deakin Estate Shiraz and I’m sorry to have to say that it wins the inaugural:

HWR* Garbage Award

To be fair, I’ve no way of knowing that there wasn’t a problem with this particular bottle.  We can rule out corking thanks to the screw-top.  Frankly, I’m not going to spend any time or money on research (aka buying another bottle) to find out whether it was a one-off or not.

* = Hendo Wine Rating