Click here to Skip to main content
15,885,278 members
Articles / Web Development / ASP.NET
Reference

Useful Reference Books

Rate me:
Please Sign up or sign in to vote.
4.92/5 (183 votes)
25 Sep 2016CPOL 1.2M   606   190
A list of popular reference books sent in by the readers of CodeProject
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
  • Unite The Tribes - Christopher 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
  • The Pragmatic Programmer - Andrew Hunt & David Thomas
  • The Psychology of Computer Programming - Gerald Weinberg
  • Agile Software Development, Principles, Patterns, and Practices - Robert C. Martin
  • Clean Code: A Handbook of Agile Software Craftsmanship - Robert C. Martin
  • The Art of Unit Testing: With Examples in .Net - Roy Osherove
  • Patterns of Enterprise Application Architecture - Martin Fowler
  • Domain-Specific Languages - Martin Fowler
  • Continuous Delivery - Martin Fowler

IoT (Internet of Things)

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
  • C++ Coding Standards (101 Rules, Guidelines and Best Practices) - Herb Sutter, Andrei Alexandrescu
  • Effective C++, More Effective C++ and Effective Modern C++ - Scott Meyers
  • Exceptional C++ and More Exceptional C++ - Herb Sutter
  • C++ Common Knowledge - Stephen C. Dewhurst
  • Large Scale C++ Software Design - John Lakos
  • 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
  • C# 5.0 In a Nutshell: The Definitive Reference - Joseph Albahari & Ben Albahari

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
  • 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 
  • Beginning ASP.NET 4.5 in C# - Matthew MacDonald

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

DELPHI

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

WPF / Silverlight / Windows Phone / WinRT

  • Windows Presentation Foundation Unleashed - Adam Nathan
  • Pro WPF In Visual Studio x - Matthew MacDonald
  • Windows Phone Unleashed - Daniel Vaughan
  • Silverlight x Unleashed - Laurent Bugnion
  • Programming Windows - Charles Petzold (yes, he's done a Windows 8 version)
  • Building Windows 8 Apps with C# and XAML - Jeremy Likness

OOP (Object-Oriented Programming)

  • Head First Object-Oriented Analysis and Design - Brett D. McLaughlin, Gary Pollice, and Dave West

Web Pages/WebMatrix

  • Beginning ASP.NET Web Pages with WebMatrix - Mike Brind and Imar Spaanjaars
  • Building ASP.NET Web Pages with Microsoft WebMatrix - Steve Lydford

WINDOWS 8 DEVELOPMENT

  • Windows 8 Apps with XAML and C# Unleashed - Adam Nathan
  • Programming Windows 8 Apps with HTML, CSS, and JavaScript - Kraig Brockschmidt

JavaScript/jQuery

  • JavaScript & jQuery: The Missing Manual - David Sawyer McFarland
  • Murach's JavaScript and jQuery by Zak Ruvalcaba and Mike Murach
  • Building A JavaScript Framework - dailyjs

HTML

  • HTML5 24-Hour Trainer - Joseph W. Lowery and Mark Fletcher
  • HTML & CSS: The Good Parts - Ben Henick
  • Responsive Web Design - Ethan Marcotte

CSS

  • CSS3: The Missing Manual - David Sawyer McFarland

AJAX

Android

  • Introduction to Android Application Development: Android Essentials - Joseph Annuzzi Jr., Lauren Darcey, Shane Conder
  • Beginning Android Tablet Application Development - Wei-Meng Lee
  • Programming Android - Zigurd Mednieks, Laird Dornin, G. Blake Meike, and Masumi Nakamura
  • Android Recipes: A Problem-Solution Approach - Dave Smith and Jeff Friesen

Android Studio

  • Android Studio Application Development - Belén Cruz Zapata
  • Getting Started with Android Studio - Barbara Hohensee
  • Android Studio: How to guide and tutorial - Clive Sargeant
  • Android Developer Tools Essentials: Android Studio to Zipalign - Mike Wolfson, Donn Felker

Matlab

OpenCV

Regular Expressions

Security

  • Introduction to Pattern Recognition A Matlab Approach - Sergios Theodoridis and konstantinos koutroumbas
    • Learning OpenCV Computer Vision - Gary Bradski and Adrian Kaehler
    • OpenCV.2. Computer.Vision.Application. Programming.Cookbook - Robert Laganière
    • OpenCVReferenceManual - Intel
    • Beginning ASP.NET Security - Barry Dorrans
    • SQL Injection Attacks and Defense - Justin Clarke

License

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


Written By
Founder CodeProject
Canada Canada
Chris Maunder is the co-founder of CodeProject and ContentLab.com, and has been a prominent figure in the software development community for nearly 30 years. Hailing from Australia, Chris has a background in Mathematics, Astrophysics, Environmental Engineering and Defence Research. His programming endeavours span everything from FORTRAN on Super Computers, C++/MFC on Windows, through to to high-load .NET web applications and Python AI applications on everything from macOS to a Raspberry Pi. Chris is a full-stack developer who is as comfortable with SQL as he is with CSS.

In the late 1990s, he and his business partner David Cunningham recognized the need for a platform that would facilitate knowledge-sharing among developers, leading to the establishment of CodeProject.com in 1999. Chris's expertise in programming and his passion for fostering a collaborative environment have played a pivotal role in the success of CodeProject.com. Over the years, the website has grown into a vibrant community where programmers worldwide can connect, exchange ideas, and find solutions to coding challenges. Chris is a prolific contributor to the developer community through his articles and tutorials, and his latest passion project, CodeProject.AI.

In addition to his work with CodeProject.com, Chris co-founded ContentLab and DeveloperMedia, two projects focussed on helping companies make their Software Projects a success. Chris's roles included Product Development, Content Creation, Client Satisfaction and Systems Automation.

Comments and Discussions

 
GeneralRe: Do any one know online API tutorials and exples Pin
Michael P Butler13-Sep-02 2:56
Michael P Butler13-Sep-02 2:56 
GeneralTwo essential C++ books... Pin
Andre Bremer26-Jun-02 10:43
Andre Bremer26-Jun-02 10:43 
GeneralSoftware requirements book Pin
Jon Sagara25-Jan-02 3:51
Jon Sagara25-Jan-02 3:51 
GeneralNumerical Recipes Pin
Micha24-Dec-01 21:47
Micha24-Dec-01 21:47 
Generalsolidworks API programming Pin
24-Sep-01 1:58
suss24-Sep-01 1:58 
GeneralRe: solidworks API programming Pin
Michael P Butler24-Sep-01 2:03
Michael P Butler24-Sep-01 2:03 
GeneralRe: solidworks API programming Pin
Miguel Hasse de Oliveira24-Sep-01 2:36
professionalMiguel Hasse de Oliveira24-Sep-01 2:36 
GeneralRe: solidworks API programming Pin
Josh Stribling4-Sep-02 5:50
sussJosh Stribling4-Sep-02 5:50 
I agree,
I think Solid Works is the best Solid Modeler availiable also.
It is the BEST priced tool for the number of features you get, the flexibility, and the easy to use API interface (with the included, fully covered API HELP, under the help menu).

Solid Works API is a "type" of program/add-in you make to automate common task in solid works...
such as using a form to type in a few values and have the program create the part for you...
to changing the title block with a click of a button...
to creating reports in excel for data such as mass, material...
just about anything you can think of to modify solidworks.

as far as the learning to program api part...
The BEST way to learn (you can read all the books you want..) is to read through the api help...
copy the examples... use the help to modify the examples to the way you want the program to preform... (such as if the example is for a part (PartDoc) and you want it to be for a drawing (DrawingDoc) then use simply change ModelDoc to DrawingDoc...

another GREAT method is to use the MACRO RECORDER (in the tools menu) this will actually write the VB code for you as you go through and edit or create a part (or whatever other task you are trying to accomplish). You can then go and look at the code to get an idea what your program needs to look like. Now if you want to use VC++ instead of VB simply translate the code using the SW API help, for example:

FROM SW API HELP:
<br />
Syntax (OLE Automation)<br />
  retval = CThread.GetAnnotation ( )<br />
Return:<br />
 (LPDISPATCH) retval<br />
   Pointer to a Dispatch object, the general annotation object<br />
 <br />
Syntax (COM)<br />
  status = CThread->IGetAnnotation ( &retval )<br />
Output:<br />
  (LPANNOTATION) retval<br />
    Pointer to the general annotation object<br />
Return:<br />
  (HRESULT) status<br />
    S_OK if successful<br />

(the OLE is the VB version, the COM is the VC++ version)

hope this helps,
have fun,
-Josh Stribling;)
GeneralRe: solidworks API programming Pin
iwan2bxpert26-Feb-06 22:21
iwan2bxpert26-Feb-06 22:21 
GeneralAccelerated C++ Pin
Igor Proskuriakov1-Aug-01 1:46
Igor Proskuriakov1-Aug-01 1:46 
GeneralMFC Answer Book - Do yourself a favour Pin
Ian Hart23-Jun-01 19:50
Ian Hart23-Jun-01 19:50 
GeneralRe: MFC Answer Book - Do yourself a favour Pin
Nick Blumhardt24-Jun-01 12:29
Nick Blumhardt24-Jun-01 12:29 
GeneralRe: MFC Answer Book - Do yourself a favour Pin
9-Jul-01 5:20
suss9-Jul-01 5:20 
GeneralRe: MFC Answer Book - Do yourself a favour Pin
brianwelsch17-Sep-02 2:13
brianwelsch17-Sep-02 2:13 
GeneralEffective STL Pin
G Poulose22-Jun-01 9:36
G Poulose22-Jun-01 9:36 
QuestionWhere is your Brain????????????? Pin
Jim Howard22-Jun-01 6:17
Jim Howard22-Jun-01 6:17 
AnswerRe: Where is your Brain????????????? Pin
Game Tester31-Dec-03 10:02
Game Tester31-Dec-03 10:02 
GeneralAnother Programming Discipline Pin
21-Jun-01 10:19
suss21-Jun-01 10:19 
GeneralFree online books Pin
20-Jun-01 17:50
suss20-Jun-01 17:50 
GeneralWindows API Pin
Carlos Antollini18-Jun-01 9:02
Carlos Antollini18-Jun-01 9:02 
GeneralTop Graphics Books Pin
Christian Graus16-Jun-01 18:22
protectorChristian Graus16-Jun-01 18:22 
GeneralRe: Top Graphics Books Pin
Jonathan Gilligan19-Jun-01 19:34
Jonathan Gilligan19-Jun-01 19:34 
GeneralGems Pin
Chris Losinger21-Jun-01 8:12
professionalChris Losinger21-Jun-01 8:12 
GeneralRe: Gems Pin
Christian Graus21-Jun-01 11:14
protectorChristian Graus21-Jun-01 11:14 
GeneralRe: Top Graphics Books Pin
26-Jun-01 9:54
suss26-Jun-01 9:54 

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

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.