Tour of C++ review
My journey into C++ started with the author of the language himself – Bjarne Stroustrup. Unfortunately, I can’t say that our first meeting bore fruitful results. To be honest, I’ve jumped to the other sources right away after I was done reading. Why ‘Tour of C++’ did not meet my expectations? Keep reading.
I’ve chosen aforementioned book due to the simple fact, that it is short. At the very beginning of my journey, I did not plan to go through hundred-pages long bibles. As I know programming concepts already, books that size usually are not that useful to me. I don’t want to read for then Nth time what a loop is, and how conditionals look like. I needed quick and concise resource, although covering more area, than simple tutorials. ‘Tour of C++’ seemed to promise that. Something over 200 pages, and a rich table of contents caught my eye. I thought – how much time does it take to read 200something pages book? Even with creating flashcards? Oh, man. How wrong was I.
I must admit – first chapters were great. They covered basic programming things, like basic syntax, types, objects and similar topics. Unfortunately, the honeymoon ended when it reached templates. I know it’s not that easy topic. However, looking at it from the perspective of written article about them, I can see clearly how badly was this chapter written. Unfortunately, later it’s not getting better. I feel like this ‘short introduction’ concept, was too much for the author to handle. Obviously there’s no denying the fact, that Bjarne Stroustrup has a tremendous knowledge about his programming language. Unfortunately, I think that it makes it so hard for him, to contain this knowledge in a short, and concise form. Chapters in the second part of book are describing more advanced concepts like STL, algorithms, containers, STD or concurrency. All of them are valid topics, and it’s good that they’re in the book. Although, I think that they could be way better structured and should be put in a better context. I mean, the usual way of describing things is: ‘here is the code, we do this that way, end of story’. As a seasoned developer, I would love an introductory book (for the people that have programming knowledge already) to be more context-based. Why we are doing it like this? How it came to be like this? What are typical use cases in real life, not in the STD classes? The book lacks this kind of explanations, and thus looses a lot of its potential value.
Should you read this book? Surprisingly, my answer is yes. Why? Because it can serve well as an entry point to the language. I would recommend reading it, and at the same time searching for more detailed/context based explanations on the web. Aforementioned templates for example – I’ve written a separate article about them (please take a look at the sources at the bottom of the post to learn more). That way, it should be way easier and beneficial for the reader. C++ is a terrific language, it would be a shame to lose interest in it only because of poor writing.