Cristian Vlasceanu wrote:
Hm... how should I put it nicely... wait, I guess I can't: if you guys think
D is a systems language, you are smelling your own farts!
Because 1) GC magic and deterministic system level behavior are not exactly
good friends, and 2) YOU DO NOT HAVE A SYSTEMS PROBLEM TO SOLVE. C was
invented to write an OS in a portable fashion. Now that's a systems
language. Unless you are designing the next uber OS, D is a solution in
search of a problem, ergo not a systems language (sorry Walter). It is a
great application language though, and if people really need custom
allocation schemes, then they can write that part in C/C++ or even assembler
(and I guess you can provide a custom run-time too, if you really DO HAVE a
systems problem to address -- like developing for an embedded platform).
Although D has gc support, it is possible (and rather easy) to write
programs that do not rely at all on the gc. My port of Empire from C to
D does exactly that.
It is quite possible and practical to write an OS in D, and it has been
done.