Both static typing and dynamic typing have their places. Dynamic typing is good if you want to "get shit done"--that's why "scripting languages" such as Python and Ruby use it. For larger projects, however, ensuring that types match can be important, and it can be helpful for the compiler to catch potential run-time errors at compile-time; Haskell does this brilliantly, and even though GHC's error messages can be hard to comprehend, they help you ensure that your program's types are logical.
Name:
Anonymous2008-12-17 14:46
Try telling this to generics in Java. During complication the type is erased and everything is treated as Object and then constantly boxed and unboxed in each scope you access them in.
>>42
Also the "erasure" process is confusing as hell. I don't know if it's possible to fuck up generics any worse than C++, but Java has definitely put in a good effort.
Name:
Anonymous2008-12-17 16:00
>>45
How are "generics" (I think you mean "templates") fucked-up in C++, other than taking a while to instantiate? The view of each instantiation of a template as a separate class makes sense to me.
Name:
Anonymous2008-12-17 17:32
>>40
Less effective in the sense that the compiler doesn't always know when something is a value and can be unboxed.