The article sounds so beautiful, so beautiful, all the joy and the flowers and the harmony and the japanese and the danish and the total lack of language wars and crusades ... sorry, seems I've fallen asleep at the keyboard.<p>Anyone remember how you felt when you moved from C++ to Java? Wasn't it a joy? As if somebody had thought, hey I'll make a language for people to enjoy. No memory management! Yeah! No obscure macros! Just clean, beautiful code that everybody could immediately understand and nobody would shoot themselves in the foot.<p>We didn't think about how many times we would have to type getSomeField() { ... } and setSomeField(...) {...}. We didn't think about how entire frameworks, byte code manipulation weirdness, special purpose runtime containers, poorly integrated language extensions, etc would have to be written and deployed to overcome the metaprogramming deficiencies of Java. We were so glad to get rid of those breathtaking C++ compiler errors resulting from template crazyness that we didn't think about how statically typed languages really need type parameters. <p>For short, we didn't think about anything relating to the power of the language, we just felt joy and a big relief that the C++ curse had been taken from our souls, aching for harmony.<p>At least for myself I can say I'm not going to make that same mistake a second time. F..k harmony and joy! Let's switch our brains on before we jump onto the next language! I'll take a language war any day if it makes me think hard about how the features of a language behave once a system grows.