On Sat, 21 Mar 2009, Jacob Beauregard wrote:
> I'd actually be less concerned about what a programming language
> prevents me from doing than what a programming language helps me do.
This is the crux of the matter, I think. While we all want programming
languages that make it easier for us to write programs, what a language
disallows is probably as important as what it allows. Ultimately this is
because what we really want are programming languages that help us write
Whenever one considers a programming language feature two questions should
be asked: How does the feature help me to express complex ideas in a
simple way? What kinds of potential problems might the feature introduce?
Assuming we are talking about languages that are well designed in their
domains, languages that let you "do anything to everything" provide a
powerful response to the first question, and "Bondage and discipline"
languages provide a powerful response to the second.
There is, of course, no "best" in all cases... which is why this debate
has raged on for as long as there has been programming.