| > It's not subjective at all. Features are good or bad for productivity. While productivity can be more or less objectively measured in the long run, the effects of a language feature on productivity vary from one programmer to another. There's no universal basis for evaluating this. > Maybe you have a different goal My primary goal is correctness. I don't really believe in 80% solutions. Having an incorrect program is just as good as having no program. > have calculated the expected value differently Very differently. My calculation is based on the following objective, unquestionable, technical facts: (0) Determining whether the internal structure of a program is consistent (in the formal logic sense) involves lots of long, tedious and mostly unenlightening calculations. (1) Computers are very good at performing long calculations. On the other hand, humans suck at it. (2) Type structure, at least in sensibly designed languages, is the most efficient way known so far to communicate the intended logical structure of a program to a computer. With type inference: (0) The programmer only has to provide just enough information for the type checker to reconstruct the logical structure of the program. (1) If the pieces fit together, the type checker will tell you exactly how. (2) If the pieces don't fit together, the type checker will tell you exactly why. |