On Monday, 21 January 2013 at 19:24:10 UTC, H. S. Teoh wrote:
Yeah, I remember when I was young and foolish, and believed for
a short
moment the hype about "dynamic typing" languages. I quickly
discovered
that dynamic typing is about the worst plague ever to befall the
programming world as soon as you do anything more than trivial
textbook
examples. You have to be constantly vigilant of what types are
being
passed around in those variables, because they *might* just
happen to be
a string where you expected an int, or an int where you
expected an
object! So much code comes crashing down as soon as you hand it
a
variable of the wrong type -- which the language explicitly
allows you
to, and in fact, which is the language's selling point in the
first
place!
True, however there are legitimate situations where dynamic types
are essential. Fortunately in D, you can use std.variant or write
your own improved version which is relatively easy to do in D
(easier than most static typed languages).
What I see going on in here, is we're being far too quick to bash
scripted languages without understanding why so many people enjoy
using them. You can point out all of the problems, but there are
also plenty of good points.
D can be made to operate with all of the advantages of a scripted
language, and simultaneously be a compiled language. It almost
does get it already, it's just missing a few key items, and those
items won't ever materialize unless we change our attitudes.
--rt