Sign in to follow this  

I have $500 bucks to spend, recommend me some good books.

This topic is 3457 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Ok, thanks to the company I work for I get a $500 allowance once a year to be used on books. They have to be computer/technical related, however. So, with my current goals of being a project manager for a game design studio, and also to learn C# and then C++ (in relating to game design), please recommend me some books! I'm at step 1 of learning how to code in C# as well as other languages (C++ being my other interest) and I've tossed in some game design project management type books onto my list already, along with A+ and Network+ books for reference/training, to get you an idea of where I'm coming from. What else should I buy? EDIT: I suppose what I'm really asking is, what books have worked well for you to learn C# and C++ or get into the game design type of work? [Edited by - Landshark on June 25, 2008 5:43:17 PM]

Share this post


Link to post
Share on other sites
The Pragmatic Programmer, Effective C++ and The Mythical Man-Month are some books I would recommend - if you don't have them already, of course. :)

The Pragmatic Programmer contains a lot of good software development advice. Effective C++ is full of C++-specific tips, certainly a must-have if you're into C++. The Mythical Man-Month is more management-oriented, good for the big picture.

Share this post


Link to post
Share on other sites
Quote:
Original post by Landshark
(C++ being my other interest)

Accelerated C++
The C++ Programming Language
C++ Common Knowledge
Effective C++
Effective STL

Share this post


Link to post
Share on other sites
If that company happens to be Microsoft, don't forget to make use of their rather extensive technical library. If you don't have time to visit the library in person, you can access their catalog through the network and have them delivered to you and there are convenient drop-boxes in every building. I've made quite a lot of use of the company library over the last 6 months.

Books I have on my recently read and "to read" list include:
Exceptional C++
More Exceptional C++
Exceptional C++ style
Effective STL
Effective C++ 3rd Ed.
More Effective C++
The C++ Standard Library
C++ Template Metaprogramming
C++ Coding Standards
C++ Common Knowlege
C++ Gotchas
Memory as a Programming Concept in C and C++
Write Great Code volume 1
Write Great Code volume 2
Game Programming Gems volumes 1-6

Granted, my list is heavily geared towards C++ development and doesn't include any C# or management type books, but from my research these are some of the cream-of-the-crop in C++, and some of the books above cover fairly advanced topics. I've heard good things about "Accelerated C++" for the beginner-intermediate crowd, which comes from the same series as the more advanced texts I've listed.

Also, having a copy of "The C++ programming Language" is a requirement for anyone studying C++. Its not a book that you read cover to cover to learn from, but its an indispensable reference when you need an in-depth explanation of features of the c++ language. Do not be without this book.

A quick note on Effective C++. The 3rd edition of Effective C++ is actually newer than the most recent edition of More Effective C++, and includes some of it's topics. More Effective C++ is still a good book, but some of it's items are less relevant today, or relevant in different ways, than when it was written (circa 1998 or 2001, I forget); my point being, if it comes to one or the other, go with Effective C++ and make sure to get the 3rd Edition.

For you, as a relative beginner to C++, I would recommend in order:
Accelerated C++
The C++ Programming Language
The C++ Standard Library
Effective C++ 3rd edition
Effective STL

Also, not to be commercial, but since you're in my area I'd like to mention that I have 3 extra, pristine hardbound copies of "The C++ Programming Language Special Edition" and I'd be happy to part with one for less than what you can find it for used on Amazon, though I doubt I'd qualify for your book allowance... Then again, if you can part with oh, 30 bucks or so of your own cash, you can free up $50 in your book allowance. PM me if you'd be interested.

Share this post


Link to post
Share on other sites
Wow, thanks for the extensive book lists!

The allowance isn't coming from MS, but yes I do work there. I didn't know about the library books being delivered to you...cool deal. Ravyne I'll PM you and toss you my alias.


Does anyone have a good list for C# books?

Share this post


Link to post
Share on other sites
Effective C++
More Effective C++
Effective STL
All 3 by Scott Meyers

Game Programming Gems is another awesome series full of lots of really useful little articles on lots of different topics.

Design Patterns: Elements of reusable software by 4 guys. Really dense book, I tend to only read a bit a time, stop and think about what they are saying, then continue. It's full of great ideas.


Share this post


Link to post
Share on other sites
Quote:
Original post by Landshark
I didn't know about the library books being delivered to you.

Before you buy any books, you should at least read a few pages from it in a library. Some books may be too advanced, others not advanced enough etc.
For example, I wouldn't recommend Exceptional C++ to a beginner. You won't understand anything.

Share this post


Link to post
Share on other sites
Quote:
Original post by Landshark
Wow, thanks for the extensive book lists!

The allowance isn't coming from MS, but yes I do work there. I didn't know about the library books being delivered to you...cool deal. Ravyne I'll PM you and toss you my alias.


Does anyone have a good list for C# books?

"Head First C#"
"Programming in the key of C#"
would be the ones I'd recommend if you are new to C#.
Actually, if you already know how to program in another language you can save yourself money and just download the free .net zero C# book from Petzold.
On the C++ side the only book I see missing is 4th edition of C++ Primer

Okay seeing how you see to be totally new to programming I'd actually start with this book since it walks you step by step using the latest and greatest C# stuff with VS2008:
Microsoft Visual C# 2008 Step by Step
This book will give you a good overview of what C# is good at and all the new stuff like WPF,Linq,etc but doesn't really teach you how to program with C#. To actually get a feel for what programming is like and if you will like it or be any good at it also get the head first C# book and try to actually do the 3 labs in the book. If you can do them then I'd say you are ready to tackle C++. If not don't even bother since C++ since you won't get far.
If you do make it to C++ though another book you will definitely need is a data structures book!
I use the Ron Penton one myself to look up stuff like linked list, binary trees, graphs,etc.


[Edited by - daviangel on July 1, 2008 3:51:41 AM]

Share this post


Link to post
Share on other sites
If you are looking for a good way to get your feet wet in C++ and design some [text-based but still demonstrate concepts] games, I would recommend "Beginning C++ Through Game Programming: First Edition" which I found to be one of the best books for learning C++ and some game logic at the same time.

They take you from extremely easy to moderately-advanced really quick while teaching you good practices. I think after reading this book, you will most likely just need reference books for C++ as you won't need any more real concept teachings.

Just my two cents, people may disagree.

As for C#, I have been writing code in C# for nearly 3 years now and I have never read a book on it. There are so many online resources for learning it, but I think C# is a language that you really just need to screw around in, and when you can't figure something out, google it. There really isn't a step-by-step way to get good at C#.

Share this post


Link to post
Share on other sites
I saw someone recommend the book "Head First C#", and I want to warn you about this book. It's not like your traditional programming books. The authors treat you as if you're an adhd-influenced teenie bopper, and throw random pictures at you, like tigers and rockets, to get your attention.

However, it does teach problem solving skills in a way that non-nerds can relate to.
So the book is probably helpful to many non-technical people.

My advice is to go on amazon.com and other sites and read reviews on all the top-rated C# books.
It's good way to see what other people think, about the books they bought.

Good luck.

Share this post


Link to post
Share on other sites
I have seen a few others post about the book "The C++ Programming Language". I do think that this is a good book as well. One thing that I do like about this book is that the creator of C++ itself, Bjarne Stroustrup, wrote it. It would be a hard book to learn off solely but its a great one to reference.

You also said you have $500 bucks to spend... Yes programming books have a nice price tag on them but do yourself a favor and check ebay for a few more common books. You can get a near new quality book for a fraction of the cost you may pay at a standard book store! I have done it with a few books personally and it has been a wonderful decision.

Share this post


Link to post
Share on other sites
Quote:
Original post by RealMarkP
Playboy.


And lots of it!


Although there is also very good internet resources to get what you're after. I never got any books, I just took a little course in high school and then went down the trial and error road.

Share this post


Link to post
Share on other sites
Quote:
Original post by DevFred
Quote:
Original post by Landshark
I didn't know about the library books being delivered to you.

Before you buy any books, you should at least read a few pages from it in a library. Some books may be too advanced, others not advanced enough etc.
For example, I wouldn't recommend Exceptional C++ to a beginner. You won't understand anything.


As a beginner game programmer I bought GPU Gems, bad decision (although helping me more and more as I go along).

General C++: Teach Yourself C++ in 21 Days

Game Project Management: Game Development Essentials: Game Project Management - This is a great general overview book on what a full game development cycle includes. It goes through concepting (word?), design, programming, promotion, distribution, etc... I was extremely happy with this book.

I had 2 classes on C#, forgot what I learned, and picked it up again easily a few years later. I wouldn't go crazy on buying a big C# book because the language is actually pretty simple (especially if you learn C++). C# is nice but the real only gaming application may be XNA unless you find some third-party system to use with it. XNA has plenty of tutorials online and most books I've seen would probably be a bit advanced to someone new to C# let alone XNA.

Share this post


Link to post
Share on other sites
Quote:
Original post by Jazonxyz
Dont waste your time with C#.


What's a waste about it? C# and .Net have a lot of real benefits. It doesn't fit for every project; C++ and other more-traditional languages don't either. Neither are mutually exclusive and you don't "graduate" from one to the other, so what's with the notion of superiority here?

Quote:
Original post by programmermattc
Quote:
Original post by DevFred
Quote:
Original post by Landshark
I didn't know about the library books being delivered to you.

Before you buy any books, you should at least read a few pages from it in a library. Some books may be too advanced, others not advanced enough etc.
For example, I wouldn't recommend Exceptional C++ to a beginner. You won't understand anything.


As a beginner game programmer I bought GPU Gems, bad decision (although helping me more and more as I go along).

General C++: Teach Yourself C++ in 21 Days


I'll agree that buying advanced books, particularly the "gems" style books, is a bad idea for a beginner; reason being, that the articles are very terse and most often without any concrete implimentation -- You need to have a solid foundation for them to have any value at all.

But the "Teach yourself X in 21 days" books are always bad. They're the kind of book I thought was great when I was 14 because it taught you the basics and gave you lots of sample code, but in my older, wiser age have come to realize what utter crap they really are. As a rule, books with this type of title should be left to collect dust on a bookstore shelf where they belong.

Quote:
I had 2 classes on C#, forgot what I learned, and picked it up again easily a few years later. I wouldn't go crazy on buying a big C# book because the language is actually pretty simple (especially if you learn C++). C# is nice but the real only gaming application may be XNA unless you find some third-party system to use with it. XNA has plenty of tutorials online and most books I've seen would probably be a bit advanced to someone new to C# let alone XNA.


The general use of C# is pretty easy to grasp coming from a C++ or Java background. It took me all of 2 days to be able to produce code in it, coming from C++. What will get you, though, is the little differences -- boxing and unboxing, how the garbage-collector will behave, how to minimize your garbage.

XNA is fine if you are more Xbox-centric, otherwise SlimDX is the better choice if you're only concerned with the PC platform.

Share this post


Link to post
Share on other sites
Quote:
Original post by Ravyne
But the "Teach yourself X in 21 days" books are always bad. They're the kind of book I thought was great when I was 14 because it taught you the basics and gave you lots of sample code, but in my older, wiser age have come to realize what utter crap they really are. As a rule, books with this type of title should be left to collect dust on a bookstore shelf where they belong.


What did you find wrong with those books in particular? Just curious to see if I see the same thing in it now that I'm a bit more proficient than I used to be at the language. Aren't the basics what he should focus on and now jumping right into some API?

Quote:

XNA is fine if you are more Xbox-centric, otherwise SlimDX is the better choice if you're only concerned with the PC platform.


I wouldn't consider XNA an Xbox-centric API because you can specificially target the PC as well. While it was tuned down for Xbox, there are plenty of developers using XNA for PC-only games. I've never used SlimDX and the wiki makes it sound useful, but is biased against XNA GS in several spots and should be updated.

Share this post


Link to post
Share on other sites
Quote:
Original post by programmermattc
Quote:
Original post by Ravyne
But the "Teach yourself X in 21 days" books are always bad. They're the kind of book I thought was great when I was 14 because it taught you the basics and gave you lots of sample code, but in my older, wiser age have come to realize what utter crap they really are. As a rule, books with this type of title should be left to collect dust on a bookstore shelf where they belong.


What did you find wrong with those books in particular? Just curious to see if I see the same thing in it now that I'm a bit more proficient than I used to be at the language. Aren't the basics what he should focus on and now jumping right into some API?


I said they "teach the basics", not "they teach the basics well." They're certainly not the devil or anything, and I'm obviously painting with a dangerously broad brush... but they, in general, don't cover things to an acceptable depth (or at all) and the pacing, if you actually kept to the 21 days, is ridiculous. I've found them to be fairly more error-prone than "real" programming books.

Quote:
Quote:

XNA is fine if you are more Xbox-centric, otherwise SlimDX is the better choice if you're only concerned with the PC platform.


I wouldn't consider XNA an Xbox-centric API because you can specificially target the PC as well. While it was tuned down for Xbox, there are plenty of developers using XNA for PC-only games. I've never used SlimDX and the wiki makes it sound useful, but is biased against XNA GS in several spots and should be updated.


Its been said by many, many people that XNA is a console API that happens to support a matching subset on the PC. It *is* Xbox-centric (and "centric" here is a very carefully chosen word) The entire API is limited to what the Xbox can reproduce, and this often means artificially limiting what PC users are able to do.

Now, XNA is designed to be cross-platform and the limitations are, therefore, quite necessary -- no one argues that.

What I'm saying is that, if you're targeting the 360 at all, XNA makes sense (and is the only official hobbyist path); but, if you're only concerned about PC development then SlimDX is the better choice in terms of flexibility and feature-matching newer DirectX technologies than XNA can ever support.

Share this post


Link to post
Share on other sites
Thank you everyone for your very informative posts. I have added many of the suggested books to my purchase list.

I am going to stick with C# as my first (main) language if only to humor the idea that I will be able to learn it quicker than C++. I do plan on getting a handle on C++ as well. If I end up liking the programming route of things I may continue on from there, otherwise I'll use the knowledge as an alternative to whatever else I'm doing. :)


I appreciate all the help!

Share this post


Link to post
Share on other sites
Here's a list of titles that I like.

Real-Time Rendering, by Tomas Akenine-Möller and Eric Haines

Assembly Language Step-by-Step by Jeff Duntemann.

Lion's Commentary on UNIX 6th Edition by John Lions

Real-Time Rendering, by Tomas Akenine-Möller and Eric Haines

Concurrent Programming in Java by Doug Lea (a genius)

Linear Algebra by Gilbert Strang

Effective C++ by Scott Meyers

Graphics Gems series

GPU Gems series

Game Programming Gems Series

Real Time Collision detection by Christer Erichson

3D Math Primer for Graphics and Game Development by Fletcher Dunn

Computation Geometry by Mark de Berg

Calculus 8th edition by Ron Larson

Elementary Differential Geometry by A.N Pressley

Share this post


Link to post
Share on other sites
Quote:
Original post by ToohrVyk
I would say the Mythical Man-Month and Code Complete, for the project management side of things.
I would also recommend Code Complete (It's on its second edition, btw), I'm actually working through it myself, and although I'm only about 1/5th of the way through, it's already more than worth the cost.

On an unrelated note, how to I make my Amazon links give GDnet a kickback?

Share this post


Link to post
Share on other sites

This topic is 3457 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this