Bookshelf 2

Bookshelf 2
Bookshelf 2

C++ Object Oriented Data StructuresC++ Object Oriented Data Structures

Compilers, Principles, Techniques and ToolsCompilers – Principles, Techniques and Tools

The ‘dragon’ book. This is the first book on compiler design and parser generation that I read (though that was a borrowed copy of the previous edition). It provides a great introduction and got me interested in lex (and flex) and yacc (bison). There is a second edition of this book. I’m guessing that the previous version had a different title.

.NET Web Services.NET Web Services

Inside Distributed COMInside Distributed COM

One of a number of COM books from Microsoft that covered the ongoing development of the technology before they shelved it to work on .NET.

Book0483Effective C#

I have found the ‘Effective C++’ books by Meyers to be indispensable when trying to get a development team with varying levels of experience up to speed. They’re also handy as a starting point for ‘best practices for C++’ lists, and if you’ve got a team of more than a couple of engineers you need such a list.

This book has some useful advice (and there may be a newer edition…I’ve got to take a look soon) but doesn’t seem to dive as deep or think as broadly as the C++ books. It has some useful advice around the basics of making C# work and work well though and if I had a major component of a product based in the managed environment I’d likely use this as the starting point for a C# best practices list and recommend that the team members read it or something similar. There is a third edition of this book on pre-order.

Numerical RecipesNumerical Recipes, Third Edition

The book for numerical computing recipes covering a broad range of topics with excellent examples and sufficient detail to get the job done. This edition is implemented in C++ instead of C in the previous editions (or fortran 77). This book has been of great value many times in my career.

Programming .NET ComponentsProgramming .NET Components

Designing and Using OLE Custom ControlsDesigning and Using OLE Custom Controls

Pro Visual C++/CLIPro Visual C++/CLI and the .NET 2.0 Platform

Managed C++ is an interesting twist on the intersection between the CLR environment and native code development. I’m not sure I’d use it in a real system as .NET programmers are likely to be more comfortable with C# or VB.NET but it is worth being aware of for the possible cases where this middle ground might simplify things. This looks like a revised edition of this book.

Programming with Microsoft Visual C++ .NETProgramming with Visual C++ .NET

Javascript, The Definitive GuideJavascript – The Definitive Guide, Sixth Edition

Covers most of the things you’d want to know about JavaScript as of the time it was written. Not really stand-alone, but as a reference to the language and various environments it can run in it is very useful.

Computer Graphics, Principles and PracticeComputer Graphics – Principles and Practice

One of the first broad based texts on computer graphics that I read. A bit to generic to be useful for practical issues, but a nice overview of the topic. There is a third edition of this book.

Debugging Microsoft .NET 2.0 ApplicationsDebugging .NET 2.0 Applications


The .NET Developer's Guide to Windows SecurityThe .NET Developer’s Guide to Windows Security

Effective C++, Second EditionEffective C++, Second Edition

This is one of my favorite ‘advanced topics’ books on C++ programming (along with its companion volume). I have run discussion groups based on this book at two previous workplaces with good results. An excellent place to go looking for ‘best practices’ items for C++ programming as well.

Object Oriented Design HeuristicsObject Oriented Design Heuristics

A decent overview of object oriented design techniques.

Object Oriented Analysis and DesignObject Oriented Analysis and Design

Object oriented design as described by Grady Booch. There is a third edition.

Essential COMEssential COM

The ‘Box’ book that acted as the initial ‘primer’ on COM technology. Covers the basics of how COM works but the technology evolved far beyond the initial version described here.

Unix InternalsUnix Internals – The New Frontier

The Design and Implementation of the 4.4 BSD Operating SystemThe Design and Implementation of the 4.4 BSD Operating System

Letter FormsLetter Forms

Book0501Debugging the Development Process

The Elements of Typographic StyleThe Elements of Typographic Style

There was a time when I became very interested in fonts, typefaces and the associated technology. This was one of the books that came highly recommended as a source of wisdom in the typographic world.

There are certainly many subtleties to properly designing and using typefaces that I took away from that dive into letter forms and the knowledge continues to serve me well.

Internetworking with TCP/IP, Volume IInternetworking with TCP/IP, Volume I, Third Edition

The core volume of the ‘Comer’ books on IP. This one covers all of the internal protocol details (see volume two for implementation advice and code fragments). Anyone who wants to write networked code needs a book like this one (or just buy this book and be done). There is now a sixth edition.

It does lack significant IPv6 information (and I’ve got less knowledge at the moment on that front than I’d prefer…something that needs looking into soon). I tend to fall back to the RFCs (as they are the source documents for all of this) when I need the real details. Trying to come up to speed on something as complex as IPv6 through the standards documents would be challenging though…got to go and find a book soon.

Design PatternsDesign Patterns

The original ‘patterns’ book. I have used the patterns described here on a regular basis without really thinking about it. The real benefit of this volume (from my perspective) is to provide a shared vocabulary that allows engineers to talk about these patterns of activity in a concise and consistent manner. It has been quite some time since I last read through this one and I should probably revisit it soon.

Moving to a new job and a new development team is going to move communications back to front and center. The last few years I’ve been working with a team that I’ve known for quite a while and we haven’t been replacing attrition. Getting back to a more expansive environment will be good, but I’m looking at the things I need to knock some rust off of before I get there. Shouldn’t be a big issue, but I can’t ignore it.

Developing Professional Applications for Windows 95 and NT Using MFCDeveloping Professional Applications for Windows 95 and NT Using MFC

One of the better early references on MFC that I bought. Clear and easy to work through.

Book0255Effective XML, 50 Specific Ways to Improve your XML

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.