Dynamic languages are the future
Tue Aug 29 07:35:07 CEST 2006
Byron Hale wrote:
> Depends on what you mean by "dynamic," I suppose.
Just quoting the article.
> If you mean run-time binding, then it is the wave of the past. To be
> specific, Lisp had run-time binding and was superseded by Scheme
> because run-time binding is a horrible flaw in a scientific language.
> Scheme was superseded by typed functional languages.
Hmm, my recollection was building commercial apps in Common Lisp and
CLOS, not Scheme. I have yet to meet any language as powerful and would
take it back -- well, I think I like what erlang has to offer better,
but only because I've already done Lisp and my needs are different now.
Lisp gave you the power to do whatever you needed to do. You could
avoid the power or you could use it. The language didn't try to protect
you from making mistakes, it just gave you the choice to use the power.
It was not a horrible flaw that enabled that approach.
I think you'll find that the XP (extreme programming) trend and test
first development will cause less reliance on statically typed
languages. There are already rumblings that the straitjacket makes it
difficult to itch behind your ear.
> Charitably speaking, there seem to be only a few places where run-time
> binding might be desirable. Remember: Shoe salesmen sell what they have.
And people who wear wing tips don't realize they pinch your toes.
Let me try just one: XML. Have you ever seen a piece of commercial code
using XML to deliver domain-specific data which doesn't require
recompiling if a new attribute is added to the XML stream? The promise
of XML was to dynamically define the content using a DTD, but everyone
is using static languages so they don't do things dynamically. They end
up putting the attribute names in the code because they have to map to a
> As for scripting languages, what major system has ever successfully
> been held together by band-aids and bubblegum?
Well, actually just about every commercial system I've worked on had its
share of band-aids and bubblegum and not due to the scripting language,
but rather due to evolving requirements for a code base that had too
much inertia. The scripting language was generally used to clean up the
holes because it was easier. Scripting offers quick solutions to small
But I would not use a scripting language to deploy something that needs
to scale or needs to be reliable.
Erlang is dynamic and right now it is the only language I would use for
scale and reliability.
> Byron Hale
More information about the erlang-questions