D-Riven

Posted in D on March 8th, 2007 by Howard Berkey

I have decided to create a page to discuss, store and publish D programming resources.  Nothing is up yet but I hope to add some content soon.

OpenGL, SDL, D

Posted in D on March 8th, 2007 by Howard Berkey

OdeFu has created a D programming blog containing (among other things) D implementations of the NeHe tutorials, implemented using Derelict for its SDL and OpenGL bindings.

DMedia has another site up as well, with tutorials.

D Bindings

Posted in Programming, D on February 11th, 2007 by Howard Berkey

More and more libraries are being made available to D all the time.  There are two very interesting projects I want to mention here.

First, bcd is a tool that will generate D bindings from C or C++ header files.  It appears to work pretty well; I have just started playing around with it.  It comes with several example bindings, such as GL, gtk2+, and others.

Another very interesting project is Tioport, a Java to D converter.  It recurses through Java code and generates D.  This obviously potentially opens up a huge amount of stuff.

D Speed

Posted in Programming, D on February 9th, 2007 by Howard Berkey

With the new version of DMD, D is now equivalent to C++ in speed at the computer language shootout, after normalizing the outliers.

Go D!

The D Programming Language

Posted in Programming, D on January 28th, 2007 by Howard Berkey

I’ve been pretty enthralled lately by The D Programming Language. It’s the latest creation of Walter Bright, who has been shipping good, solid compilers since Zortech’s original C++ compiler.

The language is a practical language rather than a pure one; Bright has picked and chosen the best and most useful parts on many other languages. He has specifically not tried to just make “a better C”; abandoning backwards compatability with C++ has enabled him to make few sacrifices. The Wikipedia entry describes this pretty well:

D is being designed with lessons learned from practical C++ usage rather than from a theoretical perspective. It uses many C++ concepts but discards some, such as strict backwards compatibility with C source code. It adds to the functionality of C++ by also implementing design by contract, unit testing, true modules, automatic memory management (garbage collection), first class arrays, associative arrays, dynamic arrays, array slicing, nested functions, inner classes, closures (anonymous functions), lazy evaluation and has a reengineered template syntax. D retains C++’s ability to do low-level coding, and adds to it with support for an integrated inline assembler. C++ multiple inheritance is replaced by Java style single inheritance with interfaces and mixins. D’s declaration, statement and expression syntax closely matches that of C++.

The language defines support for some very cool features in the language spec itself. Contracts and Invariants are major language features. Unit testing is handled better in D than I have ever seen at the language level. Covariance! Closures! Garbage collection is optional. The standard library is well thought out. Best of all, it’s fast.