The worst C++ book...

I came across this 'brilliant' statement in the intro chapter of a new C++ book that purports to 'sets the standard for C++ learning' by "Mastering C++ Programming Language".

"C++ was made by Danish PC researcher Bjarne at Bell Labs in 1979 as an augmentation of the c language; he looked for a quick and adaptable language tantamount to c that additionally included significant level abilities for a program the executives. It was first normalized in 1998. In C++, information types are divided into 3 classifications: types of primitive data: These are underlying or preset information types that might be utilised to pronounce factors straight by the client. For example, int, scorch, coast, bool etc. The whole number is a crude information type open in C++"

I also 'like' (not!) this description of the use of ;

"In C++, the semicolon is an assertion eliminator. That is, every individual assertion should be finished with a semicolon. It demonstrates the finish of one sensible substance"

The whole book is written in the same 'style'...

Well IMO it certainly sets a standard - but it's not the top standard the authors presumably think, but to the standard for possibly the worst!

Say what??? Nurse!
Sounds like a machine translation.
Well, on Amazon that book has a solitary rating of 1.

https://www.amazon.com/Mastering-Programming-Language-Beginners-Computer-ebook/dp/B09SG6GZBD/

This reminds me of another book someone not too long ago was using as a beginner's C++ book that was more C than C++, and the bits of C++ introduced very late in the book's chapters were really bad C++/bad C.

https://www.amazon.com/C-Crash-Course-Josh-Lospinoso/dp/1593278888/

M'ok, "learn to program" books are outdated from the minute they are written and published since "proper" C++ usage keeps evolving. Most authors writing programming books are only interested in a paycheck, forget about being decently competent programmers. Even eBooks can be behind the curve.

Many C++ books are utter crap. Others, like the Sams series, are superficial and too lightweight IMO to be worth the price.

There's only a couple of authors I would opine are worth the money: Rainer Grimm, Nicolai M. Josuttis, Bartłomiej Filipek.

A couple of other authors of books I do own, read and use on a case-by-case basis are: Jason Turner, Andreas Fertig.

A single standalone Learn C++ book I'd without hesitation recommend, that very strongly uses C++20, is "Beginning C++20: From Novice to Professional"
https://www.amazon.com/Beginning-C-20-Novice-Professional/dp/1484258835/

"Beginning C++20" is not an easy to follow book, it really goes far and deep into C++ quite quickly. Someone reading it needs to be very determined to learn.

Another "problem" with learning C++20 is currently there is only one compiler that is fully compliant with the standard, Visual Studio 2019/2022. Modules and <format> are quite a chunk of what is used.

If the choice came down to either print or eBook I'd go with the latter since theoretically an eBook can be updated (for free usually) as the future happens.
almost anything 98 and and earlier would be considered absolute junk now, even the ones that were ideal back then.
if you go back that far, the worst of the lot have examples with bugs in them, illegal constructs and UDB (even for the old rule set) and so on.
almost anything 98 and and earlier


This book was first published April 2022 !
Many C++ books are utter crap. Others, like the Sams series, are superficial and too lightweight IMO to be worth the price.


Seconded!

Just looking on Amazon, there seems to be now dozens of C++ intro books. For those starting with C++ who have no guidance.....

I'd also trust Deitel - but I'm not a fan of their writing style.

They have a new book out for C++20 which assumes you know programming - just not C++

https://www.amazon.co.uk/C-20-Programmers-Deitel-Developer/dp/0136905692/ref=sr_1_20

Addison-Wesley, Wrox and Apress C++ books are also usually OK.
Packt have produced numerous C++ books - but IMO the quality of these is variable and need better technical editing/reviewing.

Other good authors were Scott Meyers and Herb Sutter. But these books, though good at the time, are now dated.

Another book worth looking at IMO (although not for beginners) is:
Professional C++ by Marc Gregorie (5th Edition). It's weighty at 1312 pages!
https://www.amazon.co.uk/Professional-C-Marc-Gregoire-dp-1119695406/dp/1119695406/ref=dp_ob_image_bk
Last edited on
A minor gripe about Marc Gregoire's book "Professional C++" is the near constant using directive, using namespace std; in the code.

M'ok, this is not an error, and given the code snippets structure in the book there isn't likely to be a name clash.

I just don't consider it professional -- yes, muh opinion -- to keep using it. Or course the book seems to be aimed someone who already has some C++ experience so would know the potential problems of name clashes.

Using declarations wouldn't be as bad, IMO, though the code would still be smelly.

With that said... someone who is at least a semi-knowledgeable C++ programmer wanting a book on C++ features they probably don't know about, including C++20, it is a very densely packed and informative book.
Looking again at the US Amazon page for "Mastering C++ Programming Language: A Beginner’s Guide" (https://www.amazon.com/Mastering-Programming-Language-Beginners-Computer/dp/1032103213/) the first sentence of the book's description really sets the tone:

C++ was created as a superset of C, retaining C’s efficiency and notational ease but adding type checking, data abstraction, operator overloading, and object-oriented programming capabilities.

Oh, KOO-ELLL! More "C++ is just a better C" bit of rubbish.

That right there would make me give this a "very C++ book" award, if not "the worst".

The book's description is the same on UK Amazon as well.

C++20 is the current standard, C++23 is now finalized and being written up, and still there is the mindset that C++ is just a step away from C.

In the beginning that might have been true, but the language has evolved and grown to not be the red-headed bastard step-child of C.
I just chose a random couple of my 'favourite' quotes from the Amazon 'look-inside'. There's plenty more where those came from...

Even if the English version is from a machine translation, there's still no excuse...

And who checked and edited the translated code? The publisher is CRC Press. They're going on my blacklist as this version should never have seen the light of day!

George, its true. C++ was created to add onto C. Its a lot more than that 50 years later, but a little history is not harmful in and of itself. I don't get the appeal of going into all that (I routinely skip intros and prerambles), but if you toss out every book that has a lame intro with historical nonsense, you will lose some good ones. If the rest of the book continues on as if it were enhanced C, then you surely do have a candidate to hollow out for your hogleg ;) (I have hollowed out 3 bad books, the really big ones can hold a fullsize + mag or two).
Last edited on
WAS created, yes, jonnin. Past tense.

Current modern C++ ain't what C++ used to be when Saint Bjarne first devised the language. It has considerably evolved and mutated into quite a different beast over the years and decades.

I ain't "rejecting" the book simply because of a bit of history. I am looking askance at the obtuse thinking that relaying a brief history of C++ is a positive selling point. To me it ain't.

I couldn't care less about C++ history, I want actual and practical code examples accompanying clear and concisely written explanatory prose.

To be perfecktly honest, I'm rejecting the book for the most part because of the frikkin' price! Better (IMO) recent C++ books I have bought were a fraction of the price.
hah, yes, price. Its been over a decade since I bought a book related to our profession. The web has everything up to date, while far too many of my books are long since worthless.

I don't care for the history either. But like how every other java book rambles about how its so much better than c++ because its portable, every few c++ books ramble about the history of the language or worse, try to explain what its good for or some other bit of fluff worse than a kid writing a paper and realizing he needs another 150 words to meet the length requirement.
It's a bit amusing talking about outdated programming books. This thread, https://cplusplus.com/forum/lounge/284536/, is all about Win32 GDI game code that is years out of date, updating it for a modern Win OS (Win10, spit on Win11!) using a newer C++ language standard (C++20) and the current updated Windows API used by Visual Studio.

So what if the two programming books and the original code are FUBAR trash, spending time to learn how to adapt the code is fun (for me at least) and educational! :)

I have a largish bruise on my forehead from constantly banging it on my desk when some change doesn't work to show all the fun I'm having!
Topic archived. No new replies allowed.