Tue, 08 Sep 2009 17:25:08 -0400, Justin Johansson thusly wrote: > D is to C++ as Scala is to Java.
The word you are looking for may be 'successor'. > The very articulate Paul Graham writes in "The Hundred-Year Language" > http://www.paulgraham.com/hundred.html "Though the situation is better > in the sciences, the overlap between the kind of work you're allowed to > do and the kind of work that yields good languages is distressingly > small. ... types seem to be an inexhaustible source of research papers, > despite the fact that static typing seems to preclude true macros-- > without which, in my opinion, no language is worth using." If I'm not > mistaken, (LISP) macros**, metaprogramming, templates are different > views of the same thing and any language which makes template > metaprogramming easy is definitely worth it. ** Yes I know, there is > nothing as pure as LISP macros but since I tend to lead a rather impure > life 'D' has my attention now. I do not know what is so pure in LISP's macros. Macro is a "pure" evaluation function that takes a meta-program and outputs another program that can be compiled to an executable (or interpreted). The larger difference is that macros in LISP are cleaner since they allow modifying all code as data. The lack of type system is another thing. A type system for meta-language has non-trivial requirements and I have to say that the most general system in D (string mixins) is not that large an improvement over LISP's macros. Go and see how template haskell did the same.. > Given Martin Odersky awarded top ACM recognition > http://actualites.epfl.ch/index.php? module=procontent&func=display&id=2046 > for Scala, FP etc, perhaps Walter Bright should be considered for a > Fields Medal for D :-) http://en.wikipedia.org/wiki/Fields_Medal Martin is a computer scientist, Walter is an engineer. Martin creates new science, Walter just applies existing knowledge. Those awards are only meant for real scientists - engineers have their own award systems.