Mihail Mihaylov
1 min readAug 6, 2018

--

C++ is crap.

- Templates are one of the best things about it, and still they are crap (“template meta-programming” is an oxymoron made up by people who don’t know what real meta-programming is).

- Advertising C++ as an object-oriented language is a bad joke (none! of the built-in types are classes, no way to define classes partially, etc.).

- Advertising it as a language for large projects is sheer ignorance of other languages (preprocessor, no real imports, no ABI).

Only a delusional individual would recommend using C++ for teaching, because it has so much crap in it (unnecessary incidental historic complexity), that the susceptible young minds won’t be able to discern between the bad and the plain evil in it.

- To teach low-level concepts (pointers, memory management, CPU architectures, optimizations), use C and assembly.

- To teach meta-programming, use Racket.

- To teach object oriented programming use Eiffel and Python.

- To teach strong static typing and functional programming use Haskel.

etc.

There is no need to use a single language to teach all these different concepts, and there is absolutely no reason, ever, to use C++ to teach anything except the bad effect of economic and social factors.

The author of this article is a prime example of a common syndrome among C++ programmers — he is ignorant and uneducated, but because he programs in “the hardest language” he believes he is more than others. Just another Blub programmer.

--

--