Dynamic languages are the future

Jay Nelson jay@REDACTED
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 
semantic implementation.
>
> 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 
headaches.

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 mailing list