Marko Rauhamaa <ma...@pacujo.net> writes: > The primary upside of static types is much faster code.
Optimization of dynamic typing can go pretty far AFAIK. In an ideal case, type-checks are hoisted to outside critical sections of code and don't affect the speed of e.g. a tight loop. And then there's JIT and all that jazz... > The downside is boilerplate and clutter that make it a huge chore to > write and maintain the code. Users of languages with good static type systems like ML and Miranda descendants would rather argue that types make the program more maintainable, and aren't too much of a bother since they're inferred in many common cases. Not my own experience, but I have no reason for a wholesale disbelief against them (only skepticism on *how* great static typing is). > In my experience, high-level programming languages allow you to > accomplish more challenging feats with better quality and productivity > than statically typed languages. > > I'm saying use low-level programming languages when you have to and > high-level programming languages when you can. Using high-level/dynamically-typed, and low-level/statically-typed as synonyms seems pretty wrong. There are very low-level dynamically typed languages (Forth), and very high-level statically typed ones (Haskell). Taylan