http://www.codeproject.com/Reference/617/Useful-Reference-Books
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 Application Architecture Guide, 2nd Edition – Microsoft patterns & practices The Developer’s <code> – Ka Wai Cheung An Introduction to Software Architecture – Ka Wai Cheung Domain-Driven Design: Tackling Complexity in the Heart of Software – Eric Evans
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 C# 5.0 In a Nutshell: The Definitive Reference – Joseph Albahari & Ben Albahari C# Yellow Book 2012 – Rob Miles
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
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
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)
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
Unobtrusive Ajax – Jesse Skinner
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
Introduction to Pattern Recognition A Matlab Approach – Sergios Theodoridis and konstantinos koutroumbas.
OpenCV
Learning OpenCV Computer Vision – Gary Bradski and Adrian Kaehler
OpenCV.2. Computer.Vision.Application. Programming.Cookbook – Robert Laganière
OpenCVReferenceManual – Intel
Regular Expressions
Mastering Regular Expressions – Jeffrey Friedl
Security
Beginning ASP.NET Security – Barry Dorrans SQL Injection Attacks and Defense – Justin Clarke