Super-dee-duper D features

Don Clugston dac at nospam.com.au
Tue Feb 13 07:35:36 PST 2007


Walter Bright wrote:
> 4) The more experience I have, the more it seems that the language that 
> got a lot right is ... Lisp. But Lisp did one thing terribly, terribly 
> wrong - the syntax. The Lisp experts who can get past that seem to be 
> amazingly productive with Lisp. The rest of us will remain envious of 
> what Lisp can do, but will never use it.
> 
> 5) Lisp gets things right, according to what I've read from heavy Lisp 
> users, by being a language that can be modified on the fly to suit the 
> task at hand, in other words, by having a customizable language one can 
> achieve dramatic productivity gains.

I suspect: C was a great language because it doesn't try to keep you 
away from the machine. Lisp is great because it doesn't try to hide you 
from the compiler.

To quote Stepanov (the link that Bill Baxter just posted):

Alexander Stepanov Notes on Programming 10/3/2006

Since I am strongly convinced that the purpose of the programming 
language is to present an abstraction of an underlying hardware C++ is 
my only choice. Sadly enough, most language designers seem to be 
interested in preventing me from getting to the raw bits and provide a 
“better” machine than the one inside my computer. Even C++ is in danger 
of being “managed” into something completely different. (p7)

Sadly enough, C and C++ not only lack facilities for defining type 
functions but do not provide most useful type functions for extracting 
different type attributes that are trivially known to the compiler. It 
is impossible to find out how many members a type has; it is impossible 
to find the types of the members of a structure type; it is impossible 
to find out how many arguments a function takes or their types; it is 
impossible to know if a function is defined for a type; the list goes on 
and on. The language does its best to hide the things that the compiler 
discovers while processing a program.  (pp. 43-44)



More information about the Digitalmars-d mailing list