Books

[Previous] [Next]

I've referred to the following books time and time again during my career as a software developer and debugger. I strongly recommend them to you.

Software Development

  • Code Complete by Steve McConnell (Microsoft Press, 1993)
  • This is simply the best book on software construction that I've ever read. Every developer should own a copy and read it cover to cover every year. After reading it annually for six years, I'm still learning things from this book!

  • Rapid Development by Steve McConnell (Microsoft Press, 1996)
  • This book taught me how to manage teams and schedule projects.

  • Debugging the Development Process by Steve Maguire (Microsoft Press, 1994)
  • This book is a great introduction to the way Microsoft develops software. Obviously, since Microsoft is the most successful software company on the planet, they must be doing something right. You can learn a great deal from this book.

  • Dynamics of Software Development by Jim McCarthy (Microsoft Press, 1995)
  • This book is a very interesting look at software development from the perspective of a manager with a track record for shipping great products. The rules Jim proposes are excellent because they all come from actual experience; he's not just some academic theorizing.

Languages

  • The C Programming Language by Brian W. Kernighan and Dennis Ritchie (2nd ed., Prentice Hall, 1988)
  • This book is the definitive guide to C programming and the best-written technical book I've ever read.

  • Learning C++ by Neill Graham (McGraw-Hill, 1991)
  • I used this book to learn C++. Unlike other C++ doorstop books, Learning C++ is short, sweet, and to the point.

  • Advanced Microsoft Visual Basic 6.0 by The Mandelbrot Set (2nd ed., Microsoft Press, 1998)
  • An excellent book on Visual Basic that goes into many real-world issues. The first chapter, "On Error GoTo Hell," by Peet Morris, and the sixth chapter, "Staying in Control," by Mark Pearce, are must-reads for all Visual Basic programmers. Although the chapter on hiring developers is good, I'm still not sure what is has to do with advanced Visual Basic.

  • C++ Programmer's Guide to the Standard Template Library by Mark Nelson (IDG Books, 1995)
  • I have a severe love-hate relationship with the Standard Template Library. Fortunately, Mark's book does a great job of providing samples and explaining the finer points of using this library.

Debugging and Testing

  • The Practice of Programming by Brian Kernighan and Rob Pike (Addison-Wesley, 1999)
  • This book is a wonderful discussion of developing, debugging, and testing.

  • Writing Solid Code by Steve Maguire (Microsoft Press, 1993)
  • Although it focuses mainly on C programming, this book contains excellent advice on interface definitions and avoiding nasty problems in the language.

  • Managing the Testing Process by Rex Black (Microsoft Press, 1999)
  • To develop better, you need to know how to test better. This excellent book will change the way you develop and the way you interact with your QA teams.

  • How Debuggers Work by Jonathan B. Rosenberg (John Wiley & Sons, 1996)
  • This book is an excellent introduction to how debuggers work and to the issues you need to consider when designing a debugger.

Windows and Windows Technologies

  • Programming Windows by Charles Petzold (5th ed., Microsoft Press, 1999)
  • This one book will teach you everything you need to know about how Windows programs work at the most fundamental level. People could solve many of the problems they ask me about if they only had a better understanding of how message handling, graphics device interface (GDI), and other subjects work at the SDK level.

  • Programming Applications for Microsoft Windows by Jeffrey Richter (4th ed., Microsoft Press, 1999)
  • This book covers all the unique aspects of Microsoft Win32 development. The chapters on DLLs, threads, synchronization, and structured exception handling are the best descriptions available and all relate directly to debugging your problems more quickly and efficiently.

  • Programming Windows with MFC by Jeff Prosise (2nd ed., Microsoft Press, 1999)
  • This book is the definitive guide to programming with the Microsoft Foundation Class (MFC) library. If you're using MFC, you must have this book.

  • Windows++ by Paul Dilascia (Addison-Wesley, 1992)
  • Unlike other design books, which have only toy examples, this book produces a strong and viable C++ class library for Windows. I learn best by example, and this book taught me how to think in terms of objects.

  • Essential COM by Don Box (Addison-Wesley, 1998)
  • In the Disassembly window ("unambiguous mode"), a Component Object Model (COM) interface is just a pointer to an array of pointers, so COM should be easy to understand. COM is so much more than just a pointer and is so fundamental to programming life, however, that you must understand how it works if you expect to stand a chance of correctly implementing and debugging your code. Don's book will give you a great start along the path of COM enlightenment.

  • Inside Windows NT by David A. Solomon (2nd ed., Microsoft Press, 1998)
  • The book is the official "big picture" view of the Windows NT kernel. Although more directly applicable for device driver writers, this book will help you make sense out of how the different parts of the operating system fit together in Windows NT.

  • Windows 95 System Programming Secrets by Matt Pietrek (IDG Books, 1995)
  • Matt's book is out of print, but you should really try to find a copy. Debugging anything more than a simple access violation on Windows 95 and Windows 98 is an exercise in extreme frustration mainly because Windows 95 and Windows 98 are hybrid 16-bit/32-bit operating systems. Much of the information in the book, such as the Portable Executable (PE) file format chapter, applies to Windows 2000 as well.

  • ATL Internals by Brent Rector and Chris Sells (Addison-Wesley, 1999)
  • The Active Template Library (ATL) makes the smallest and fastest COM objects around. To take full advantage of ATL, you have to have this book.

The CPU and Hardware

  • Structured Computer Organization by Andrew S. Tanenbaum (4th ed., Prentice-Hall, 1998)
  • An excellent introduction to computer architecture, this book is filled with information that I use to debug problems daily. The book has some typos and technical errors, but if you can get past that you'll be glad you read it.

  • Intel CPU reference manuals
  • Intel makes available, for free, the CPU manuals for their processors. If you're doing serious debugging, these manuals are extremely helpful and informative. You can download the Adobe PDF files from Intel's Literature Center at developer.intel.com/design/litcentr/index.htm . Intel also provides the manuals in book form if you prefer having hard copies.

  • The Indispensable PC Hardware Book by Hans-Peter Messmer (3rd ed., Addison-Wesley, 1997)
  • This book is the best discussion of PC hardware around. When you need to interact with hardware, this book is an invaluable resource.



Debugging Applications
Debugging Applications for MicrosoftВ® .NET and Microsoft WindowsВ® (Pro-Developer)
ISBN: 0735615365
EAN: 2147483647
Year: 2000
Pages: 122
Authors: John Robbins

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net