I know my current level, I know what I need and want to learn so I’ve bought a bunch of books to improve myself in the field of programming. Plan is to finish them (and maybe get more to read) in 2015. Here is my list;
- Programming: Principles and Practice Using C++ (2nd Ed.) by Bjarne Stroustrup
- Effective C++: 55 Specific Ways to Improve Your Programs (3rd Ed.) by Scott Meyers
- More Effective C++: 35 New Ways to Improve Your Programs and Designs by Scott Meyers
- Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 by Scott Meyers
- Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library by Scott Meyers
I bought the above because I believe those are the bare minimum requirements to get a nice start on the C++ language and also the most credible sources. C# is the only language I have the professional proficiency of so far, I thought I should to get out of my comfort zone and learn the most popular programming language in the video game industry.
- 3D Math Primer for Graphics and Game Development (2nd Ed.) by Fletcher Dunn
This one for it’s simpler approach to teaching math geared towards the video games. I already have the Eric Lengyel’s amazing book on the topic but it’s a bit advanced for me right now. I didn’t get a great math education in school (My high school and graduate school were both vocational in the field of public relations so very little math education on there). So this is one area I particularly have to work on.
- Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma
- Refactoring: Improving the Design of Existing Code by Martin Fowler
- Introduction to Algorithms (3rd Ed.) by Thomas H. Cormen
- The Algorithm Design Manual by Steven S. Skiena
Because I don’t think I’m knowledgeable enough on these subjects. I need a larger mental toolbox and more efficient ways to manipulate and generate code.
- The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt
- Code: The Hidden Language of Computer Hardware and Software by Charles Petzold
Because these are lighter to read than the above mentioned technical books and I believe essential to open up new horizons for any programmer of any level. Also the latter fills an important gap in my opinion, for years now I’ve been thinking that the programmers who started learning this craft 20-30 years ago were luckier because the computers of the time were simpler and it was easier to understand what’s going on under the hood so they had the basics to build up on as the computer technology progressed. For any self taught programmer who started in the 2000’s it’s a little bit hard to understand how everything works in today’s relatively complex machines especially while trying to learn a lot of the other things which makes a programmer. So it’s a nice book which starts with topics such as the Morse code and the early telegraph systems and spans the whole history of computers in an easy to digest way.
So this is my reading plan for the 2015 and if I finish all these books before the year ends I have more to continue improve myself and help realize my potential. But those books are a subject of another post in the future.