Clearly this page should be entitled ‘The Ideal Language’ for there is, and can only be one language worth its bits. Those who know me well know that I hold the view that every problem can be approached with the same language, regardless of project size, platform, domain or constraints. And that language is C++
C++ is the perfect language.
It allows you to program in many styles. It is compiled for fast execution. It can be written platform independently and yet has the ability to use platform specific functionality with little to no indirection. It allows OO programming with full support for interfaces, flexible polymorphism, and even multiple inheritance if your object model calls for it. Class mixins are supported. With RTTI turned on a level of reflection is possible. The powerful type system allows static typing and to a certain extent a faux duck-typing system. Plus it supports proper templates (not like C# with it’s munted, pointless half implementation). Exceptions, continuations, stateful delegates, these powerful features are all supported.
With the use of the C preprocessor, C++ takes on a whole new level of god-like powers. You can add new elements and constructs to the language, change supported syntax, and customize your codebase in ways not possible in other languages.
Finally, the real beauty of C++ lies in it’s beautiful syntax. Pointers, references, templates and resolution of multiply inherited members are all implemented through concise and clear punctuation. The use of operator overloading allows you to maintain this clean syntax throughout your codebase.
So there you have it, my reasons why I know C++ to be the perfect language.
Update: I forgot - garbage collection. You have a choice of full, partial or no garbage collection.
Comments
That would fit with my “Anything less buggy than Matlab”, although I have to say I’ve used C++ and I wasn’t a big fan. At least I never was a 3 star programmer though. stephen
