От: | remark | http://www.1024cores.net/ | |
Дата: | 27.01.07 22:03 | ||
Оценка: | 20 (6) +9 -1 |
There are more useful systems developed in languages deemed awful than in languages praised for being beautiful – many more. The purpose of a programming language is to help build good systems, where “good” can be defined in many ways. My brief definition is “correct, maintainable, and adequately fast”. Aesthetics matter, but first and foremost a language must be useful; it must allow real-world programmers to express real-world ideas succinctly and affordably. People tend to forget this and argue over programming
style or language features using small contrived examples. A programming language is a small – but often highly visible – piece in a huge puzzle.
The main reason for C++’s success is simply that it meets its limited design aims: it can express a huge range of ideas directly and efficiently. C++ was not designed to do just one thing really well or to prevent people doing things considered “bad.” Instead, I concentrated on generality and performance. In C++, you can write code that is simultaneously elegant and efficient. Naturally, you can also write code that is neither, and many people couldn’t recognize elegance if it walked up and punched them in the nose – but that’s true for every language. C++’s strengths lies in the huge range of what it is pretty good at rather than in what it’s superb at.
...
C++ is designed to allow you to express ideas, but if you don’t have ideas or don’t have any clue about how to express them, C++ doesn’t offer much help. In that, C++ is not that different from other languages, but it is different from languages/systems/tools/frameworks designed to make it easy to express specific things in a specific domain.
...
C++ has indeed become too expert friendly at a time where the degree of effective formal education of the average software developer has declined. However, the solution is not to dumb down the programming languages but to use a variety of programming languages and educate more experts. There has to be languages for those experts to use – and C++ is one of those languages.
We need relatively complex language to deal with absolutely complex problems.
why do I see character echo delays in Word on my 2GHz, 2Gb computer? I didn’t see that on my editor on a shared 1MHz, 1Mb PDP11 25 years ago