and a pain in the neck to write. You end up writing a lot of code just to satisfy the compiler. It also locks everything in making it very hard to evolve the system. Paul Graham expresses it really well [link|http://www.paulgraham.com/hp.html|Hackers and Painters]

"A programming language is for thinking of programs, not for expressing programs you've already thought of. It should be a pencil, not a pen. Static typing would be a fine idea if people actually did write programs the way they taught me to in college. But that's not how any of the hackers I know write programs. We need a language that lets us scribble and smudge and smear, not a language where you have to sit with a teacup of types balanced on your knee and make polite conversation with a strict old aunt of a compiler."