• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

List (and find) recommended programming books here!

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.
Can't believe noone has mentioned this one yet:

Language: All
Title: The Art of Computer Programming, Third Edition
Author: Knuth, Donald E.
ISBN: 0-201-89683-4 (vol. 1), 0-201-89684-2 (vol. 2), 0-201-89685-0 (vol. 3)
Pros: The ultimate reference for just about anything algorithmic. Pretty much indespensible if you're doing a lot of algorithm design/implementation.
Cons: Somewhat expensive due to coming in three rather solid volumes. Also, they're probably not quite so useful if you're mainly gluing together existing components. Additionally, you may find it somewhat heavy going if you don't have a reasonable programming and mathematical background.
 
Everyone who's posted in this thread (including me) needs to be shot for not mentioning K&R.

Language: C
Title: The C Programming Language (2nd ed.)
Author: Brian Kernighan and Dennis Ritchie
Pros: This is the C bible, and less than 275 pages at that. This book is written as a tutorial on pure C by the people who originally wrote C. It's a good reference and tutorial all in one, with tons of exercises to help a budding programmer learn how to think. For learning C, there's no better starting place. It's very old, but the C language has more or less stabilized and I can't think of anything technical that no longer applies.
Cons: Since it's pure C, there's nothing about libraries, networks, GUIs, etc. C also has a much more limited realm of practicality today than when the book was written. This should be required reading for C programmers, but plenty of people make a living in Java.
 
Christoph said:
Everyone who's posted in this thread (including me) needs to be shot for not mentioning K&R.

Language: C
Title: The C Programming Language (2nd ed.)
Author: Brian Kernighan and Dennis Ritchie
Pros: This is the C bible, and less than 275 pages at that. This book is written as a tutorial on pure C by the people who originally wrote C. It's a good reference and tutorial all in one, with tons of exercises to help a budding programmer learn how to think. For learning C, there's no better starting place. It's very old, but the C language has more or less stabilized and I can't think of anything technical that no longer applies.
Cons: Since it's pure C, there's nothing about libraries, networks, GUIs, etc. C also has a much more limited realm of practicality today than when the book was written. This should be required reading for C programmers, but plenty of people make a living in Java.
(Sidenote: After reading both pages, I'm glad SOMEONE finally mentioned K&R!)

Language: Java (1.5.0)
Title: An Introduction to Obejct Oriented Programming in Java
Author: Dr. Wu, C. Thomas
Pros: A very clearly-written introduction to OOP with a language that can be used on a LOT of systems. A good jumping-off point.
Cons: Expensive (university textbook). Also doesn't introduce advanced topics. (Meant to be taken as semester 1 of your first year of Computer Science.)
 
Language: N/A
Title: CODE COMPLETE
Author: Steve McConnell
Pros: It is an excellent reference with any language, because it allows you to review the basic principles, and to improve your coding skills.
Cons: Over 700 Pages
 
Language: C
Title: C by Dissection , 4th Edition
Author: Kelly, Al / Pohl, Ira
ISBN: 0-201-71374-8
Top Pros: This book is awesome. This was our textbook in class and I found it incredible. As the title says the book teaches C by giving example code and programs and then dissecting it. The book is very well organized, there are plenty of examples and the end of each chapter has plenty of questions to try.
Also, the end of most chapters include a section on how the C code could transfer to C++. There is also a chapter which helps one transition to C++, giving the benefits of C++ and helping one to chose between C or C++.
Cons: It cost too much. But that's what happens with college texts. :mad:
 
Language: C++
Title: C++ Programming: From Problem Analysis to Program Design
Author: D.S. Malik
ISBN: 1-4188-3639-7
Pros: This is my favorite C++ book. I've read several other C++ books and tutorials, but I like this one the most because of the order in which the author brings up the topics. It's definitely not a novel, but it's one of the more readable C++ manuals that I've come across. We covered roughly the first half in "Programming 1 with C++" at the Junior College I attend. I think the first half is structured programming and the second half is Object-Oriented Programming (which we didn't get into). Works with both Microsoft Visual Studios and Dev C++ (possible minor difference in header).
Cons: Cost, Roughly 1300 pages.
 
Language: C, Assembler, Bios Interrupts - General Reference
Title: HelpPC
Author: David Jurgens
Pros: It is an excellent reference, goes low level with flags, bios interrupts etc aimed mainly towards the hardware, also contains syntax examples
Cons: The downloadable version can be a bit tempermental, needing to be re-installed
Link: http://heim.ifi.uio.no/~stanisls/helppc/

note. This reference can be used either online or downloadable, there is a link in the paragraph (middle of page) that allows you to download as a zip
 
Language: NA <examples are in Java, some C# examples>
Title: The Art of Multiprocessor Programming
Author: Herlihy, Maurice / Shavit, Nir
ISBN: 978-0-12-370591-4
Top Pros: The book covers not just the how but the why of multi-threaded applications, pitfalls, locking, scheduling, hardware directives, etc. There's a wide range of material, definitely a solid starting place for an experienced programmer looking to expand their knowledge base.
Cons: There is a lot of theory. You'll need to brush up on discrete mathematics in order to follow some of the proofs.
 
Hey this thread is old but I'll put two books up here anyways. First "the Blue Book"

Language: C++
Title: C++ Primer Plus, 5th Ed
Author: Prata, Stephen
ISBN: 978-0-672-32697-4
Top Pros: Many people regard this book as the essential read for any C++ programmer. It has everything for the basics to the advanced. 1000+ pages of goodness (I've only gotten to 800 something). The thing I like the most about this book is how easy it is to understand and how well developed each chapter is. Every new concept is gradually taught and is complimented by excellent pure C++ (compiles on just about anything) example code. This book is written to feel like a teacher is sitting next to you and working with you rather than just a boring textbook.
Another great thing is all the extra details thrown in. At every opportunity the author will explain in detail exactly what's going on 'behind the scenes' while compiler or while in runtime. Overall an excellent book and a must have for any C++ programmer.
Cons: C++ is a huge and complicated language (not including APIs) and justifies the 1000+ pages; this might be a con for somewhat who wants to learn quickly. The book is usually around $60 so not that expensive.

Language: N/A
Title: Compilers: Compilers: Principles, Techniques, & Tools (2nd Ed)
Author: Aho, Alfred V.; Lam, Monica S.; Sethi, Ravi; Ullman, Jeffery D.
ISBN: 0-321-48681-1
Top Pros: This book is also known as "The Dragon Book", more specifically the "Purple Dragon Book" (first edition has a green dragon). This is by far the most popular and widely used books to teach compiler 'theory'. Works you all the way up from lexers and syntax parsers, to byte code optimization. The book is written in a very text-book style and is usually reserved for 4th and 5th year college CS majors. This is a great read for anyone who is very serious about learning about how to make compilers. Also comes with a complete compiler front-end in the back in Java.
Cons: The book is very advanced and mostly theory (some vague examples in pseudo-code and Java). In order to use effectively, you really need to have mastered at least one language and be pretty familiar with programming language theory and design. Pretty expensive ($150).
 
Language: Any
Title: The Pragmatic Programmer: From Journeyman to Master
Author: Andrew Hunt, David Thomas
ISBN: 978-0-201-61622-4
Top Pros: It will really take your programming to the next level. Your programming team will thank you for this.

Cons (well not really but): A lot of deep reading required, but that's about it.
 
Language: C++
Title: C++ Programming - Program Design Including Data Structures , 5th Edition
Author: Malik, D.S.
ISBN: 0538798149 - ISBN-13 / EAN: 9780538798143
Top Pros: Good book to start with. We use it at our local comm college and it does a very good job walking you through steps. All you have to do is read and do the workshops and you'll be programming in no time.
Cons: none so far ... Just like every other book - you have to read it :screwy:


Language: Java
Title: Murach's Java SE 6 - Training and Reference
Author: Joel Murach and Andrea Steelman
ISBN-10: 1-890774-42-1; ISBN-13: 978-1-890774-42-4
Top Pros: Again i came across this because of school. Very nice to have and combine with workshops to make the learning even better.
Cons: None so far

Language: Visual Basic
Title: Starting Out With Visual Basic 2010, 5th Edition
Author: Tony Gaddis, Kip Irvine
ISBN: 0136113400
Top Pros: Easy to understand.
Cons: None so far
 
Language: C++
Title: Programming: Principles and Practice Using C++
Author: Brjane Stroustroup (the guy who invented C++)
ISBN: 0321543726

Top Pros:


I would suggest this book to anybody who is starting out with C++. No prior programming experience is required. The author teaches you how to program as opposed to the syntax. Read it from cover to cover and you will really begin to appreciate the logic that goes into programming. I started with this book and have not looked back since.

You will really appreciate the beauty of the structure of the language if you have some mathematical background in abstract algebra i.e sets, groups, structures, morphisms. N
 
Language: Not language related, examples in smalltalk and c++
Title: Design Patterns

this book doesn't teach you how to program in a specific language, instead it shows you how to write reusable efficient code.
A must have in my opinion, a coworker told me this book opens your mind, after reading the first chapter i can say it really does.

pros: If you ever want to be a software developer, you need this . no excuses.
cons: requires knowledge of object oriented programming and some c++ or smalltalk to understand some examples, although it is very manageable.

without listing everything here you can check it out on wikipedia
http://en.wikipedia.org/wiki/Design_Patterns
 
Last edited:
Title: Game Programming Patterns
Language: Example code is in C++ but the principles in this book are applicable to any obj oriented language.
URL: http://gameprogrammingpatterns.com
Author: Robert Nystrom
Isbn: 0990582906
Pros: Great book illustrating different design patterns for obj oriented languages. The author worked as a soft engineer for ea so most of the examples are geared towards game design but these techniques are useful for organizing any large project.
Cons: this is not a basic game design book so you should know the ins and out of objected oriented programming before reading this one.
 
Back