A language that puts the needs of programmers - developers and maintainers, in their developmental activities - over the needs of the compiler, CPU, and users ''Confer'': PerlLanguage, PythonLanguage, RubyLanguage, SmalltalkLanguage http://en.wikipedia.org/wiki/Ruby_programming_language "Matz's primary design consideration is to make programmers happy by reducing the menial work they must do, following the principles of good user interface design. He stresses that systems design needs to emphasize human, rather than computer, needs: "'Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run faster. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves.'" What Matz means, briefly, is he will trade execution speed for programming speed. That is the hallmark of the kind of languages once called "interpreted". They no longer mean that (some are compiled), but we still use the "interpreted" term to mean a SoftLanguage. The distinction is a language that executes slowly because it's easier to program. Contrast ExpressionMetatemplates in C++. Excruciating to program, impossible to debug, and a paragon of blazing speed. Now who needs programs to be easy to compile, hence subject to optimization? Who needs them to be easy to install, and early-bound without runaway dependencies? Not the CPU - it ''likes'' that stuff. It's the user; the one waiting for your app to boot up or your page to download. A single nit: Your users would like you to release a new version this week, not next quarter. This is the exception that proves the rule. ---- (Original Wording) ''a language that puts the needs of programmers (developers and maintainers) over the needs of the users'' As I recall, the only users of a programming '''language''' are the programmers and code generators (who write the language) and the compilers, interpreters, computers, and other programmers (who read the language). The EndUser has needs, too... but they are addressed by the program, not by the language. ---- See also DuckTyping, AlternateHardAndSoftLayers, HardLanguage