The Next Mainstream Programming Language: A Game Developer's Perspective :: Redux

downs default_357-line at yahoo.de
Sat Jul 14 08:20:00 PDT 2007


I basically agree with the GC issues.

If it were up to me, I'd integrate a separate mode into the GC, in which it is only run in debug 
mode - and breaks on collection! Basically, I'd not use it as a collector per se, but as a tool to 
make manual memory cleaning easier.

Apart from that, I agree D is not quite ready for a massively parallel future - but the strength of 
the language is such that it can be made to be ready, without requiring any in-depth changes.
Take the following example.

foreach (foo; parallel(bar)) { /* do stuff with foo */ }

Looks neat? It can be made to work _today_, with D 1.0 or 2.0, GDC or DMD, without requiring _any 
changes to the compiler_, using exclusively language features (about one page of code) - and even 
without any significant runtime overhead! :D
And there's a decent amount of multithreading extensions for D already. Take a look at StackThreads 
  or DCSP on http://assertfalse.com/projects.shtml , all implemented using a minimum of machine 
specific code, and working fine (I think. I hope. :p )

 From my (admittedly overoptimistic and fanboyish) perspective, even without threading built into 
the language, D is quite prepared for a massively-multithreaded future. :)

  --downs



More information about the Digitalmars-d mailing list