Ianjoyner
2 min readJan 10, 2024

--

"C++, a powerful and versatile language"

That is about the 15th time I've read that entirely fatuous and meaningless phrase today.

Programming is powerful, not any particular language. Just throwing in a lot of garbage into a language does not make it versatile, just difficult to learn and full of traps.

To learn OO read:

https://bertrandmeyer.com/OOSC2/

You will get far more understanding of programming and OO than with any of these rubbish C++ tutorials online.

Yet another of these tutorials where someone thinks it is a good idea to teach programming in C++.

It is not. C++ is about the worst language to learn programming, and a terrible language for OO. It is arcane because it has to be backward compatible with all the mistakes of the past. It just gathers more baggage.

That is all baggage new programmers should not be burdened with having to learn. All you learn with C++ is C++. It is also baggage that working programmers should not be burdened with -- what to use, what is old and to avoid.

https://www.quora.com/Why-does-C-accept-unsigned-long-unsigned-long-0-behavior-cannot-C-resolve-it-or-any-signification-when-accepting-it/answer/Ian-Joyner-1

Alan Kay (who coined OO): “This is the most pernicious thing about C++ and Java in that they think they’re helping the programmer by looking as much like the old thing as possible but in fact they’re hurting the programmer terribly by making it difficult for the programmer to understand what is really powerful about this new metaphor.”

Ken Thompson (originator of B/C from BCPL): “[C++] certainly has its good points. But by and large I think it's a bad language. It does a lot of things half well and it’s just a garbage heap of ideas that are mutually exclusive.”

https://www.quora.com/Is-c++-is-the-best-programming-language/answer/Ian-Joyner-1

https://gigamonkeys.wordpress.com/2009/10/16/coders-c-plus-plus/

To learn OO and the whole process of software development:

https://bertrandmeyer.com/OOSC2/

That book gives you the concepts of OO to facilities C++ is yet to offer, but without the gloop associated with C++, which just bolted OO onto the side of C, rather than supporting OO from the core.

https://www.quora.com/Is-it-necessary-to-learn-C++-to-be-a-better-programmer/answer/Ian-Joyner-1

https://web.mit.edu/simsong/www/ugh.pdf#page=238

https://itnext.io/google-carbon-vs-apple-swift-9df8262342c8

“Let us face it: C++ is not really on top of people’s agenda today. It has become a quirky expert language which requires years of training to fully master.”

http://harmful.cat-v.org/software/c++/

http://yosefk.com/c++fqa/defective.html

https://www.academia.edu/5672407/C_A_Critique_of_C_and_Programming_and_Language_Trends_of_the_1990s

https://www.efinancialcareers.co.uk/news/finance/c-coding-language-problems

C++ Terrible Tips

https://pvs-studio.com/en/blog/posts/cpp/1053/

--

--