Click here to Skip to main content
Click here to Skip to main content

Useful Reference Books

By , 2 Feb 2012
 
This article has been opened up so any member who is bronze or above can edit and update. Please add your suggestions!

I get a lot of requests from readers about which books are best for learning MFC, ASP, ATL etc, but with hundreds of books coming out each year, and technology moving ahead in leaps and bounds, keeping up with what's best is hard. Which books have helped you the most?

Here's a list of faves sent in by readers. If you are just starting out in the industry then don't get lured into buying only books that deal with the language you are working in. Read books on how to program. You will save you and your employer a lot of stress. The "Programming Discipline and Design" section below lists a bunch of great books worth reading.

Programming Discipline and Design

  • Writing Solid Code - Steve Maguire
  • Mythical Man-Month - Frederick P. Brooks Jr
  • Code Complete - Steve McConnell
  • The Art of Computer Programming - Knuth
  • Algorithms - Robert Sedgewick
  • Debugging Applications - John Robbins
  • Taligent's Guide to Designing Programs - Taligent
  • Design Patterns - Gamma, Helm, Johnson, Vlissides
  • The Career Programmer: Guerilla Tactices for an Imperfect World (Apress) - Christoper Duncan
  • Advanced Windows Debugging - Mario Hewardt, Daniel Pravat
  • Windows® Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition (Pro Developer) - Mark Russinovich, David A. Solomon, Alex Ionescu

C / C++

  • The C Programming Language (Prentice Hall) - Kernigan and Ritchie
  • The C++ Programming Language - Bjarne Stroustroup
  • Programming: Principles and Practice Using C++ - Bjarne Stroustroup
  • Effective and More Effective C++ - Scott Meyers
  • Inside Visual C++ - David J. Kruglinski
  • C++ How to Program - H. M. Deitel, P. J. Deitel
  • Thinking in C++ (2nd Ed) - Bruce Eckel

C#

  • A Programmer's Introduction to C#, 2nd edition (Apress) - Eric Gunnerson
  • Inside C#, 2nd edition (Microsoft Press) - Tom Archer
  • Component-Based Development with Visual C# (M&T books) - Ted Faison
  • C# Essentials, 2nd edition (O'Reilly) - Ben Albahari, Peter Drayton & Brad Merrill
  • C# in Depth - Jon Skeet
  • CLR via C#, 3rd Edition - Jeffrey Richter
  • C# Programming Language (Covering C# 4.0) - Anders Hejlsberg
  • Programming Entity Framework - Julia Lerman

ASP.NET

  • Debugging ASP.NET (New Riders) - Jonathon Goodyear, Brian Peek, Brad Fox
  • Designing Microsoft ASP.NET Applications (Microsoft Press) - Jonathon Goodyear, Brian Peek, Brad Fox
  • Debugging ASP.NET - Jonathon Goodyear, Brian Peek, Brad Fox
  • Microsoft ASP.NET Step by Step (Microsoft Press) - G. Andrew Duthrie
  • Deploying and Managing Microsoft .NET Web Farms (Sams) - Barry Bloom
  • Professional ASP.NET MVC 3 (Wrox) - Jon Galloway, Phil Haack, Brad Wilson, K. Scott Allen

Windows API

  • Programming Windows 95 - Charles Petzold and Paul Yao
  • Programming Applications for Windows - Jeffrey Richter
  • Advanced Windows - Jeffrey Richter
  • Visual C++ Windows Shell Programming - Dino Esposito

MFC

  • Programming Windows 95 with MFC - Jeff Prosise
  • MFC Internals - George Shepherd and Scot Wingo
  • Professional MFC with Visual C++ - Mike Blaszczak

ASP

  • Professional ASP Techniques for Webmasters - Alex Homer

Database

CE

  • Windows CE Developers Handbook - Terence A. Goggin
  • Programming Windows CE - Douglas Boling (Microsoft Press)
  • Essential Windows CE Application Programming -Robert Burdick (Wiley)

COM / DCOM / COM+ / ATL

  • Essential COM - Don Box
  • Professional COM Applications with ATL - Sing Li and Panos Economopoulos
  • Creating Lightweight Components with ATL - Jonathan Bates
  • Inside ALT - George Shepherd and Brad King
  • Understanding DCOM - William Rubin and Marshall Brain
  • Programming Distributed Applications with COM and Microsoft Visual Basic 6.0 - Ted Pattison
  • Inside OLE, 2nd Edition - Kraig Brockschmidt

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Chris Maunder
Founder CodeProject
Canada Canada
Member
Chris is the Co-founder, Administrator, Architect, Chief Editor and Shameless Hack who wrote and runs The Code Project. He's been programming since 1988 while pretending to be, in various guises, an astrophysicist, mathematician, physicist, hydrologist, geomorphologist, defence intelligence researcher and then, when all that got a bit rough on the nerves, a web developer. He is a Microsoft Visual C++ MVP both globally and for Canada locally.
 
His programming experience includes C/C++, C#, SQL, MFC, ASP, ASP.NET, and far, far too much FORTRAN. He has worked on PocketPCs, AIX mainframes, Sun workstations, and a CRAY YMP C90 behemoth but finds notebooks take up less desk space.
 
He dodges, he weaves, and he never gets enough sleep. He is kind to small animals.
 
Chris was born and bred in Australia but splits his time between Toronto and Melbourne, depending on the weather. For relaxation he is into road cycling, snowboarding, rock climbing, and storm chasing.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralMy vote of 5memberOshtri Deka16 May '13 - 1:14 
Thanks man!
QuestionGreat listmemberMike Hankey10 Feb '13 - 1:50 
Great list Chris but the "Thinking in C++ (2nd Ed) - Bruce Eckel" link is broke!
VS2010/Atmel Studio 6.0 ToDo Manager Extension
Version 3.0 now available.
There is no place like 127.0.0.1

QuestionOld bookmembertuanakka11 Dec '12 - 4:51 
old book. http://s.codeproject.com/script/Forums/Images/smiley_confused.gif
QuestionWindows® Internalsmemberserhiy.semenyuk18 Oct '12 - 23:14 
wouldn't it be more reasonable to have Windows® Internals: Including Windows Server 2008 and Windows Vista in Windows API group rather than Programming Discipline & Design ?
GeneralMy vote of 5memberserhiy.semenyuk18 Oct '12 - 23:13 
great list !
GeneralMy vote of 5memberfredatcodeproject24 Jul '12 - 1:58 
thanks
good to know
QuestionC++/CLI/MFC bookmemberZac Greve31 Mar '12 - 8:14 
Ivor Horton's Beginning Visual C++ 2010[^]
 
It's a good book. I have read the ebook version the whole way through.
 
PS. I can't figure out how to edit. I think I am just missing something obvious, but I am not sure.
Attempting to load signature...
A NullSignatureException was unhandled.
Message: "No signature exists"

QuestionNo VB books why...?memberJαved27 Feb '12 - 1:34 
There are no VB books in this article why?
"Everyone wants results, but no one is willing to do what it takes to get them" - Dirty Harry
 
In Life go Straight, And turn Right

AnswerRe: No VB books why...?adminChris Maunder27 Feb '12 - 5:04 
Because noones added any. Want to be the first?
cheers,
Chris Maunder
 
The Code Project | Co-founder
Microsoft C++ MVP

GeneralRe: No VB books why...?memberJαved29 Feb '12 - 0:25 
Yes. sure.
Murach's Visual Basic 2010
sams teach yourself vb.net in 21 days
Microsoft Visual Basic 2008 Step by Step Author: Michael Halvorson
"Everyone wants results, but no one is willing to do what it takes to get them" - Dirty Harry
 
In Life go Straight, And turn Right

QuestionSuggesting "Pragmatic Programmer" Bookmember@k@ ?9 Feb '12 - 10:48 
http://pragprog.com/book/tpp/the-pragmatic-programmer
 
Pretty good book.
Veni vidi vici
- I came, I saw, I conquered.- (Julius Caesar)
 
Veni, Vidi, volo in domum redire
- I came, I saw, I want to go home - (George W. Bush) <Frown | :-( >

QuestionMore C++ booksmemberRobin Imrie7 Feb '12 - 22:32 
I think these are worthy additions to the list
 
The C++ Standard Library, A Tutorial and Reference - Nicolai M. Josuttis
Exceptional C++ - Herb Sutter
 
And for Qt development
C++ GUI Programming with Qt 4 - Jasmin Blanchette & Mark Summerfield
Thanks,
Robin.

QuestionISBN [modified]memberSpaceSoft3 Feb '12 - 7:03 
Nice article, but it will be better if you include the book's ISBN..

modified 13 Feb '12 - 15:34.

AnswerRe: IBANmemberjesuswasrasta7 Feb '12 - 9:54 
Sure you want to say ISBN... Smile | :)
See things I like at jesuswasrasta.com

AnswerRe: ISBNmemberSpaceSoft13 Feb '12 - 9:34 
OMG...My mind sometimes goes crazy! Big Grin | :-D
Of course, I mean ISBN.
GeneralMy vote of 5memberCS14012 Feb '12 - 17:52 
thanks
GeneralArticle updatedmvpthatraja2 Feb '12 - 3:37 
with books mentioned by
 
Julien Villers,
Laxmikant_Yadav,
AnnieMacD,
jesus_was_rasta,
Mika Wendelius,
Dave Calkins,
Thushan Fernando &
Eric Goedhart.

 
Thank you guys!
thatraja

FREE Code Conversion VB6 ASP VB.NET C# ASP.NET C++ JAVA PHP DELPHI | Nobody remains a virgin, Life screws everyone Sigh | :sigh:

GeneralMy vote of 5memberMonjurul Habib21 Dec '11 - 6:33 
nice work
QuestionProgramming Principles and Practice Using C++ (Bjarn Stroustrup)memberEric Goedhart21 Dec '11 - 1:40 
Hi Chris,
 
Programming Principles and Practice Using C++ is a book I think should be in the list of C++ books also, it's also written by Bjarn Stroustrup and offers:
 
* Preparation for Programming in the Real Word
 
* Focus on Fundamental Concepts and Techniques
 
* Programming with Today's C++
 
* Provides a Broad View
 
I have this book and the nice thing about it is that as a reader it offers Exercises such as write a program that converts from miles to kilometers with prompting the user to enter miles to just name one of the many tasks you have to do to learn the language basics , the book offers also Drills such as Standard library vector drill etc.
My conclusion about this book is that it gives students who want to learn to program in C++ the course to do so and this book is also very good to use at schools for teaching C++ programming basics.
 
More information on this book can be found at [mr Stroustrup his website]
With friendly greetings,Smile | :)
 
Eric Goedhart

QuestionAdvanced Windows Debugging by Mario Hewardt and Daniel PravatmemberDave Calkins20 Dec '11 - 7:55 
excellent book!
 
amazon link
AnswerRe: Advanced Windows Debugging by Mario Hewardt and Daniel Pravat [modified]memberThushan Fernando20 Dec '11 - 20:57 
Agreed. Windows Internals + Advanced Windows Debugging should be there.
 
For .NET development, CLR via C# is also another!
Digitally Yours,
 
Thushan Fernando


modified 21 Dec '11 - 4:36.

SuggestionFew SQL books (for starters)memberMika Wendelius20 Dec '11 - 6:30 
Few database related books for basics:
- An Introduction to Database Systems (8th Edition)[^]
- Fundamentals of Database Systems (6th Edition)[^]
- Database: Principles, Programming, and Performance, Second Edition (The Morgan Kaufmann Series in Data Management Systems)[^]
- Joe Celko's Data, Measurements and Standards in SQL (Morgan Kaufmann Series in Data Management Systems)[^]
- Microsoft SQL Server 2008 R2 Unleashed[^]
- Inside Microsoft® SQL Server® 2008: T-SQL Programming (Pro-Developer)[^]
- Oracle Essentials: Oracle Database 11g[^]
- Oracle PL/SQL Programming: Covers Versions Through Oracle Database 11g Release 2 (Animal Guide)[^]
The need to optimize rises from a bad design.My articles[^]

Generalvote of 5memberchandanadhikari20 Dec '11 - 4:11 
5d!!great help for beginners..thanks Chris Smile | :)
QuestionVB & WPFmemberrctaubert20 Dec '11 - 2:12 
Please give VB and WPF their own sections. Thank you
 
This is a fantastic idea. Can't list the number of times I have asked someone to recommend a good book on various topics.
GeneralMy vote of 5memberPranit Kothari20 Dec '11 - 2:10 
Thanks for sharing

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web02 | 2.6.130523.1 | Last Updated 2 Feb 2012
Article Copyright 2000 by Chris Maunder
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid