Wie C zegt, moet ook D zeggen
I am currently hacking on the latest incarnation of Liquid. This version is written in D.
(I chose D for various reasons, over languages like Java, C#, OCaml and ActionScript… maybe someday I’ll write more about that. It’s not impossible that there will be another implementation in one of those languages, by the way. But for now, it’s D. D 1.0 to be precise, as I am developing it on an old iBook G3 that runs Tiger. Yes, not the most efficient of setups… but it’s fun! :-)
D is OK as far as statically typed languages go. It has a lot of improvements over C, but is less anal than Java, and less of a mess than C++. :-) It can be low-level if you wish (e.g. it has pointers much like C), but some of the features and library functions are pretty high-level, almost Python-like. It comes with a decent standard library, Unicode support, garbage collection, modules, dynamic arrays, real strings, a foreach loop and much more.
Of course, the static typing bites me every now and then… Often the error messages are actual bugs, but sometimes it’s just the type system being difficult.
I do hope that in the future, I will be able to link with some C libraries… maybe some GUI stuff. Right now everything is command line, which I wanted to avoid, but that’s how it goes. (An implementation in ActionScript would fix this, but it would lack a command line, and would likely be much slower.)
Anyway, I recommend D if you need to use a low-level language that isn’t too painful. =)
Foo Bar said,
August 13, 2009 @ 4:27 pm
I think most of those who want a low level language should just bite the bullet and go for C++. It’s not as much of a mess than people make it out to be, and certainly not insurmountable with a good platform library (like Qt).
Much can be said for “entertainment value” of various languages like Haskell, Ocaml, Lisp, but D seems to be missing that niche and trying to tackle the C++ / C# / Java gorilla (of “serious” statically typed languages).