Upcoming Events
Gamelab
7/1 - 7/3 @ Gijón, Spain

Develop Conference and Expo
7/14 - 7/16 @ Brighton, United Kingdom

Rosetta Stone Summer Game Jam
7/17 - 7/19 @ Harrisonburg, VA

Casual Connect Seattle
7/21 - 7/23 @ Seattle, WA

More events...


Quick Stats
5503 people currently visiting GDNet.
2297 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