Author(s) : Ian Joyner
Publication date : Jan 2000
A Critique of C++ is an analysis of some of the flaws of C++. It is by no means exhaustive, nor does it attempt to document every little niggle with C++, rather concentrating on main themes. The critique uses Java and Eiffel as comparisons to C++ to give a more concrete feel to the criticisms, viewing conceptual differences rather than syntactic ones as being more important.
The critique was not meant as an academic treatise, although some of the aspects relating to inheritance, etc., required a bit of technical knowledge. The critique is long; it would be good if it were shorter, but that would be possible only if there were less flaws in C++. Even so, the critique is not exhaustive of the flaws. Instead of documenting every trap, the critique attempts to arrange the traps into categories and principles. This is because the traps are not just one off things, but more deeply rooted in the principles of C++. Neither is the critique a repository of ‘guess what this obscure code does’ examples.
One desired outcome of this critique is that it should awaken the industry about the C++ myth and the fact that there are now viable alternatives to C++ that do not suffer from as many technical problems. The industry needs less hype and more sensible programming practices. No language can be perfect in every situation, and tradeoffs are sometimes necessary, but you will feel free to choose a language which is more closely suited to your needs. View/Download C++?? : A Critique of C++