Upcoming Events
VIEW Conference 2009
11/4 - 11/7 @ Turin, Italy

Project Horseshoe
11/5 - 11/8 @ Burnet, TX

Independent Game Conference West
11/5 - 11/6 @ Los Angeles, CA

IGDA Leadership Forum
11/12 - 11/13 @ San Francisco, CA

More events...


Quick Stats
6587 people currently visiting GDNet.
2337 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!



Link to us

Link to us

  search:   

A Postmortem of Game Programming with Digital Mars’ D Programming Language


Prologue

One thing I find very interesting is different computer languages, their development and their differences. I spend most of my time in C++, but the little exposure I’ve had to LISP or to other languages always leaves me wishing that C’s macros were cleaner, or that C++ had a way to implement a nice multi-variable for-each.

This past month I’ve been on vacation and since my wife would be bringing her laptop, since I didn’t feel like bringing the MSVC++ CDs or backing up my projects directory, and since I didn’t really have any current project I wanted to work on, I decided to break out Digital Mars’ D Programming Language and try to learn it.

I had read through some of the first pages of Digital Mars’ D’s documentation and propaganda, but I had never taken the time to actually work with the language. After a few weeks of fiddling with it when not at the pool, I have to say I really like the language.

Two major design philosophies that I feel when working in D are: 1) Things that you do a lot should be simple and 2) A language should be clean, simple and consistent.

This diary is about the specific joys and difficulties of working with D.

D is billed as a ground up rewrite of C – a new version of a good language, or everything that C++ wishes it could be but never will be.

Complaint #0: “D” is horrible to search for. “C++” is a distinct string. I ended up having to use “D Programming language” or “Digital Mars D” every time I wanted results. Searching from within DigitalMars.com and then forcing Google to use the within domain and the “-archive” flag helped when I wanted language specific answers.




Installing


Contents
  Prologue
  Installing
  Getting work done
  My experiences
  Beginning work: Dir2
  DERELICT game library
  Various Notes on D
  Wrapup

  Source code
  Printable version
  Discuss this article