High-level vs. low-level useless
Posted Mar 14, 2004 20:56 UTC (Sun) by ncm
In reply to: Java != JVM
Parent article: Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)
For modern languages, the distinction between "high-level" and "low-level"
doesn't mean very much. A much more useful distinction is dynamic range -- how hard are the problems it's good for?
For easy problems almost any language will do -- speed doesn't matter, programs are small, and maintenance is easy, so coding convenience is the most important thing.
For hard problems, you need efficiency, apparatus to help organize lots of code, compile-time evaluation to abstract code generation, control of execution details to enable tuning, and effective compile-time error checking to make sweeping changes safe.
Python covers the easy-problem space easily, and reaches far up into hard-problem space. C++ has everything needed for the hardest problems, but is not so convenient to use for banging out trivia. Java and C# fall somewhere in the middle -- way too inconvenient to displace Python, but lacking most of the features needed to take on hard problems confidently.
to post comments)