Quote: Original post by liquiddark
The best argument for static typing, in my experience, is a very simple one: Intellisense. With dynamic typing, you often have to look up or remember every function call prototype in perfect detail most of the time. This also happens when you're using a sub-par development environment, but there is really no reason why you should be using such an environment.
Never underestimate tools for boosting productivity. They make all the difference when your brain refuses to start.
ld
I don't think I want to be programming when my brain is off, you know? And there is a lot of stuff which can make a programmer more productive than intellisense, such as having an interactive interpreter, having a debugger that has support for edit and continue, etc. Here's another one that's pretty much specific to Smalltalk: availability of the source for the entire system right into your code browser. This means you can search for anything about anything. You want to know what you can do with strings? Just go see the String class and check out the methods (also check the super classes methods). The code is right there in front of your eyes. You can even modify it if you want! Isn't that amazing?
Another thing that dynamic typing allows: macros. Have you ever seen Lisp macros? They largely kick intellisense when it comes to productivity, they allow for things not possible in other languages. And all attempts at making macros in statically typed languages have failed.