By Joyner I.
Read Online or Download A critique of C++ PDF
Similar programming: programming languages books
- Programmation Java pour les enfants, les parents et les grands-parents French
- Einstieg in Python 3
- Advanced PHP Programming : A Practical Guide to Developing Large-scale Web Sites and Applications With PHP 5
- Annotated Solution Guide for Thinking in Java Fourth Edition
Additional resources for A critique of C++
A programming language is just a tool, in the same way that an axe is a tool. If the axe is blunt when chopping down a tree, then procedures, processes and methodologies could be invented to make it as effective as possible. But that leaves the real problem unsolved; that the axe that does the real work is blunt. So it is with programming languages. To develop a system, it must be implemented, and a programming language is the tool to do the real work. If the language is blunt, then procedures, processes and methodologies might alleviate the situation, but they do not solve the problem.
C and C++ do not implement the simple management of a large state space, and allow many potential errors to go undetected. The role of a language as a tool cannot seriously be regarded as some authoritarian that stops us doing what we want or need to do, as many languages with type safety and consistency checks are often viewed. Programming languages should embody the collective wisdom of common sense practices that have been learnt over many years, by common and painful experience. C++ lacks the implementation of much of this wisdom.
This leads me to believe that C++ is parochial and removed from the many advances that will make production of systems easier and more cost effective. It is better to detect and avoid errors than to fix them. The fixing of errors happens many times during the development process. This slows down the development process, and is therefore costly. Good programmers in this context (often called ‘gurus’), are those who recognise symptoms, and recommend fixes. Good programmers in the better sense (often called ‘impractical idealistic dreamers’) adopt better practices (programming languages being a subset of these), that avoid error in the first place.