Christmas was good to me this year. TGI books, books, and more books. Oh, and some sake from my father and Jack from my brother.
First off, here’s what I’ve read from what has been added to my fledgling collection:
- The Design and Evolution of C++ – Bjarne Stroustrup – This is a great read. The most enlightening portions are about the primary features of C++ and how/why they were added. The list of things that didn’t quite make it is just as interesting. I would recommend this book to anybody who is curious why C++ is the way it is. I wouldn’t recommend it to the Java fan boys who dismiss C++ because it doesn’t have a garbage collector. Oh, and Stroustrup talks about that as well.
- The C Programming Language – Brian Kernighan and Dennis Ritchie – This is one of the “must-reads” for anybody who is doing systems programming. I think C is one of the most misunderstood languages out there. C is not a “hard” language, because it is absolutely not ambiguous; C does what you tell it to do, exactly as you told it to do it, every single time you tell it. Buy it, read it, love it.
- Learning the vi Editor – Lamb and Robbins (O’Reilly Press) – Noah needed to learn some more vi skills, and hoped that this book would help. It did. The sections on vi, ed, and vim were are useful to me. The sections on the other vi clones I just glossed over; no value-add for what I needed, but the book wasn’t costly enough for it to be a big deal.
- Open Sources 2.0 – I’m both ways about this book. The articles are interesting for the most part, but the (lack of) editing was glaring. At times, there appeared to be a misspelling/grammatical error per page, and it really made the book appear unfinished. If that doesn’t bother you, buy away, and you should probably read it anyways, but I’m not quite sure it is worth whatever I (or whoever did) paid for it.
- The C++ Programming Language – Bjarne Stroustrup – The bible. This book should be a mandatory read for anyone who wants to program in C++. If I ever was confused about C++ before, it was only my own ignorance. Take the 2 days and read the book. You will never be confused about C++ again. As it turns out, between this and TDAEOCPP, you will learn more than just the syntax of C++: you will actually understand how to program in C++. Why you don’t need a garbage collector, and how it actually gets in the way of many things. How templates can be used without being too macro-like and weakly typed. The different design paradigms possible in C++. Just read it.
- Effective C++, Third Edition – Scott Meyers – This is a beautiful book. It’s name should probably be changed to “std::tr1 (and boost::) and other effective C++ tips”, since the majority of the book introduces, explains, and uses concepts from std::tr1 and boost (such as boost::shared_ptr, weak_ptr, std::auto_ptr, boost::noncopiable, etc.) to explain some good design patterns to use. The layout and typesetting of the newest edition is awesome – the two-color printing makes reading code very easy, much easier than I had expected. Buy it. I hear his other books (More Effective C++ and Effective STL) are also amazing, and from what I’ve read thus far, I believe it. I’ll be sure to pick those up in the near future.
There you have it. So go and boost Amazon’s stock. You’ll feel better in the morning.