[plt-scheme] Why do folks implement *dynamically* typed languages?

From: Grant Rettke (grettke at acm.org)
Date: Thu May 31 11:53:32 EDT 2007

Recently two friends of mine were arguing about "What is better: DLs
or SLs" (this really happened). One of them, call him "SaL", works for
a medical equipment manufacturer and writes everything in Java. The
other one does a lot of web work and is trying to move exclusively to
Ruby, call him "DaLe".

Apparently they argued about this for at least an hour or two and
really got no where. DaLe kept saying that DLs are more productive and
we should write code for us not the compiler and SaL kept saying that
DaLe didn't know what he was talking about because he doesn't write
"mission critical code" for a living (I won't question the fact that
they are writing "mission critical code" in Java, at least not in this

I told DaLe that what SaL was really trying to say is that they care
about predictability. They want to be able to predict that at runtime
they will probably not get any type errors.

DaLe on the other hand doesn't care about this, we is churning out web
apps, if they brake, you find out fast, no one dies.

Alternately, statically typed languages offer better documentation
(Eiffel, Java, C++) about the intent, and you do need that for
team-based programmers. This is covered by the previously linked
"Freedom Languages" blog post.

It seems really that simple.

On 5/31/07, Matthias Felleisen <matthias at ccs.neu.edu> wrote:
> On May 31, 2007, at 11:37 AM, Grant Rettke wrote:
> > I think that at some point the fellow who created Ruby said to himself
> > that "I'm going to create a programming language where you can't
> > detect type errors at compile for these reasons...".
> >
> > What I want to know is if there are common reasons, or no reasons, or
> > do people write papers about making this decision?
> It is quite difficult to publish language design papers (with reasons
> like the above) in academic circles. So if you mean an academic
> research paper, the answer is likely to be 'no'.
> PLT has succeeded in being both a scripting language and a vehicle
> for academic research. To accomplish the latter, we turn our designs
> into models and explore properties of models so that other language
> community can adapt our ideas. This is NOT the kind of paper that
> just says "I didn't think errors should be discovered at compile time".
> People may write essays/non-academic papers on this stuff and publish
> them in magazines like Byte or third-tier CS journals like Computer
> Languages. These days they may publish them on the web only and call
> them a blog.
> Time and again, you will see flamewars on newsgroups and mailing
> lists. If you're careful, you can extract good knowledge from such
> exchanges though 3/4 of the stuff is useless.
> If you discover something of interest, please post. I think people
> here will want to know.
> -- Matthias

Posted on the users mailing list.