Take the 2-minute tour ×

I found Ivor Horton's Beginning C++ from 1999 in a book shelf, and I was wondering if it's to outdated to be usefull. I allready know some C++, but I'd like to have book as reference. Should I invest in a newer book or was the language pretty similar in 1999?


share|improve this question
I guess it depends on what you want to learn about the language. If you want to learn C++11 I'd say it's outdated. –  Default Sep 19 '12 at 12:06
It's probably good enough for the basics, maybe even some intermediate stuff. But there have been two major revisions of the C++ standard since then (the last one, C++11, was a major change) so I wouldn't recommend it beyond that. –  Joachim Pileborg Sep 19 '12 at 12:08
Oh grow up you question closers. This is a proper question, that can be answered with facts. Voting to reopen. –  Let_Me_Be Sep 19 '12 at 12:15
Regarding that book, in the code samples, does it say #include <iostream>? Or does it say #include <iostream.h>? If it's the former, then the book is at least (partially) up to date for its time. –  Benjamin Lindley Sep 19 '12 at 13:38
Just in case you decide to get a different book, have a look at The Definitive C++ Book Guide and List. –  R. Martinho Fernandes Sep 19 '12 at 16:07
show 2 more comments

3 Answers

Short answer: No. Old books contain outdated programming techniques, which create bad code in the current programming environment

share|improve this answer
@SteveWellens With c++11 this certainly changed. Move semantics, nullptr, initializer lists, shared_ptr, ... massively change the structures of code. Even simple tasks like "write a function which gives me a vector of 500 elements" look different. –  johannes Sep 19 '12 at 12:17
@Let_Me_Be: As johannes said, this is especially true for C++. A book from 1999 has a 90% chance of not even covering C++98, let alone C++03 — and C++11 brought even bigger changes. Therefore, +1 for Tony's answer. –  sbi Sep 19 '12 at 12:29
@Let_Me_Be - It's not about the language features, but about how we use the language - the idioms. That has changed a lot since the 1990's. –  Bo Persson Sep 19 '12 at 13:03
@TheBuzzSaw: No. I don't know if you've missed this, but "the basics" of C++ have changed a lot. Between rvalue references, and the fact that many books from that era teach C with a C++ guise, I'd definitely advise a newer text. –  DeadMG Sep 19 '12 at 15:55
@TheBuzzSaw: C with a C++ guise is not only harmful, it's the worst thing you could possibly teach anybody. The basics of C++ are RAII, templates, and ownership, not that disgusting pointers bullshit or inheritance. C with Classes code is terrible, and you should feel terrible for inflicting it on another helpless soul. Also, C++11 is quite mainstream now. When even MSVC supports lambdas and rvalue references, you know it's mainstream. –  DeadMG Sep 19 '12 at 16:00
show 15 more comments

The 1998 book is a giant pile of crap. Don't even think about using it. It's "C with Classes with Microsoft-specific libraries which were bad then and worse now". Even ignoring the massive language changes (many of which impact even beginners) from C++11, it would still be a giant waste of your time.

The chapter list is full of OLE automation and ActiveX controls- not one mention of the Standard library. Burn it before it infests you.

share|improve this answer
LOL! OK, I didn't know that this is what the book contained. I am inclined to agree now. –  TheBuzzSaw Sep 19 '12 at 16:15
Might be useful to learn C with classes full of Microsoft COM stuff for any legacy code he may need to maintain. –  CashCow Dec 27 '12 at 11:05
add comment

The 4th edition of the best C++ book has been just published: http://www.amazon.com/The-Programming-Language-4th-Edition/dp/0321563840 It contains all the new techniques as well as the new C++11 standard.

share|improve this answer
add comment

Your Answer


