Reginald Braithwaite took the time to put together a nice posting, in which he gives a A “fair and balanced” look at the static vs. dynamic typing schism.
The article discusses the two axes: “the likelihood of disaster and the magnitude of the consequences.”
I think it is spot on wrt compilers. However, I don’t think that a lot of people give type information for the compilers anymore. They do it for their tools.
For them the tradeoff is: “I have to ‘type’ more information in on types, but I get to use tools that are worth that time, as they give it back to me and more-so”.
There is no simple “winning” argument. You can believe in both sides.
The real winner though? Nice language AND nice tool. And, it’s coming.
March 15th, 2006 at 7:18 pm
March 16th, 2006 at 12:17 am
Yeah – is there something on the horizon?
March 16th, 2006 at 12:41 am
In Objective-C, message-to-method dispatch is runtime-dynamic in the same way as Smalltalk (you can send any message to any object at any time). But you can also provide static type information for the variables referring to your objects; the compiler can sanity-check them at compile time, without constraining runtime behavior. Xcode on Mac OS X can also use them to provide method completion lists and such. It’s effectively similar to Smalltalk with an optional and non-binding type syntax.
March 16th, 2006 at 12:46 pm
Chris, I like that. BeanShell has the potential to do the same for Java.
April 20th, 2006 at 10:10 pm
Compilers & Interpreters Tools