Tom Kochuyt
2 min readDec 18, 2020

--

Well… to cut a long story short

The ambition for C++ was to be the next generation of C, addressing all the warts and weaknesses of C, adding the capability to do Object Oriented Programming (which was the new hot thing around that time) and broadening the potential user group to fields where C was not the top dog goto language. And to be clear, this is an ambition that should be loudly applauded.

But the design of C++ got side-tracked by all these ambitions.

  • It did not succeed in alleviating some of the most dangerous aspects of C, it only added complexity… which means creating more opportunities for coders to make dangerous mistakes
  • It attempted to be everything for everyone, the one language to rule them all. No clear choices were made in the design, leading in the end to a rather complex language to use
  • It was one of the first attempts to translate the OOP concept into practice… As we all know from experience, the probability of getting everything right first time are very close to 0%. C++ was no exception to this, it paid its dues

Language designers have learned from that experiment and incorporated these lessons in more recent attempts to create ‘the rightful successor of C’

Don’t get get me wrong, none of these newer attempts is perfect either, but for new practitioners they are all better choices than learning/using C++

Even C is still a better choice, simply because the language is less complex to learn and use

And if you want to use a language that is both close to math and has fast execution, then learn and use good old FORTRAN

--

--

Responses (1)