Any recommeneded texts on programming

I used to programming years ago took a few detours but want to get back into programming and my dream has always been to write a game. The videos are excellent but I was also looking for recommendation for a book on teaching yourself to program c or c++ for windows. I would appreciate any recommendations on texts.

Thanks,
Al
I would start by learning C before learning "C for Windows" and there's no better book that the C book written by Dennis Ritchie himself:

http://books.google.com/books?id=...9VJazGIypNtvqg9AE&ved=0CDIQ6AEwAA
For C++ the recommended books would be A Tour of C++ by Bjarne Stroustrup and Effective Modern C++ by Scott Meyers.

If you are looking for less language specific books, there are tons.
Pragmatic Programmer, The Mythical Man Month, Code Complete, Programming Pearls, TAOCP, Elements of Programming, Literate Programming, Computer Architecture, SICP, etc.

I don't know of good game-dev related books
Thanks for your excellent responses I will check out those texts. What I was having some problems or questions with regards to really the implementation of windows functions. When I last programmed in C and C++ it wasn't in windows so even things that are probably total noob to others here such as calling a window are new to me.

Thanks,
Al
I definitely second "K&R" for learning <i>The C Programming Language</i>.
Tour of C++ comes highly recommended but I haven't gone through it, I can however vouch for ALL of Scott Meyers' books on C++. Also Code Complete (2e).
Mentioned in another thread is Boy Nystrom's Game Programming Patterns.

My original recommendation,even though it's hefty, is Game Coding Complete by Mike McShaffry.
After you're comfortable with the content in K&R, I'd recommend Peter van der Linden's Expert C Programming: Deep C Secrets. It's the orange book with giant blue coelacanth on the cover.

This book is a real pleasure -- it's full of weird corners of C that are often neglected by other texts and is full of interesting (and often humorous) anecdotes. PvdL provides useful challenges in the book to test your understanding of the material.

Chapters 5 & 6 are particularly nice, treating topics infrequently discussed by non-OS textbooks.
I found a good one for brushing up on my former C knowledge. It's a bit "provocative" in it's tone but I find it interesting with good examples.
I'ts very *nix oriented though (In a way quite natural)

http://c.learncodethehardway.org/book/
A problem I find with for example Scott Meyers' books is that they give a pretty shallow cook-book like list of rules that you are supposed to follow, instead of thinking about what exactly the program is doing at every step, and every language construct, and if that aligns with what you actually want it to do. For example I have met a great deal of people who goes around thinking you should always make the destructor of a class virtual, which is very bad for performance in many cases and should be used in a minority of cases where you actually want to delete an object through a pointer to a base-class.

Edit: That's why I like Handmade Hero so much. Casey doesn't just push a lot of code on screen and say this is a good way to code, "memorize this because this is how it's always done", but he explains in great detail the whys and hows of the code which is immensely more valuable in my opinion.

Edited by Johan Öfverstedt on
For example I have met a great deal of people who goes around thinking you should always make the destructor of a class virtual

To be fair, Effective C++ only says you definitely should do it if you are going to delete a pointer to base. But I agree with your sentiment that you don't really learn how to architect code from the book. I think it's main thing is to teach you the "gotcha's" of idiomatic C++.
Yes. Scott Meyers is not a bad guy ;) And there is clearly good stuff in the books, no doubt about it. I just feel that if you only own 1-3 books on programming, Effective C++ should not be among them. His books are more relevant as you really learn the language and want practical advice on how to avoid gotchas.
I think I can confidently say if you are only going to own 1-3 books on programming, that none of those books should be specific to any programming language, and by that criteria, I would have to recommend:
1. The Art of Computer Programming (It's a multi-volume set but I'm calling it one book) 2. Structure and Interpretation of Computer Programs
3. Code Complete
I think I can confidently say if you are only going to own 1-3 books on programming, that none of those books should be specific to any programming language, and by that criteria, I would have to recommend:
1. The Art of Computer Programming (It's a multi-volume set but I'm calling it one book) 2. Structure and Interpretation of Computer Programs
3. Code Complete

I can't argue with you there. That's good advice. I am not that sold on Code Complete though. I have read it and keep a copy on my shelf but I don't think it's one of the best. I would go for:
1) The Art of Computer Programming
2) Introduction to Algorithms (CLRS)
3) Elements of Programming
Just program and make all the mistakes that you must. Programming is not about reading books it is about, well... programming.
gazto
Just program and make all the mistakes that you must. Programming is not about reading books it is about, well... programming.


Just operate on brains and make all the mistakes that you must. Brain surgery is not about reading books it is about, well... opening skulls and sticking knives into brains. :silly:
That was a bad analogy.
I find it stupid that people ask for books when they have the Internet at the reach of their finger tips.