 |
Software Engineering Professional References |
 |
The important part of programming isnt memorizing all the
details of programming languages and design ideas. Its in
knowing where to look them up, and what tools to use.
Software Engineering
Software engineering is a distinct discipline from computer programming.
There are many programmers out there who are capable of making a computer
perform a particular task. It takes an engineer to write readable,
maintainable code. Engineering requires a lot of planning and thinking
ahead.
One of the best books for object-oriented software design is Design
Patterns, by Erich Gamma, Richard Helm, Ralph Johnson, and John
Vlissides. Design Patterns outlines a number of valuable
strategies for software design.
C++ Programming
Bjarne Stroustrups The
C++ Programming Language is a must-have reference for C++
programmers, just as Kernighan and Ritchies The
C Programming Language (dubbed the White Bible by programmers) was
de rigeur for C. Stroustrups book isnt quite as
good for just reading through and learning the language as K&R,
but there are some times you just need to look up operator precedence
or the fine details of friend declarations. If you need to
really get into the fine details of the language itself, youll
need a copy of The
Annotated C++ Reference Manual (usually just the ARM to hard-core
programmers).
Scott Meyers Effective
C++ and More
Effective C++ are a good way to sharpen your coding skills. The
books are full of useful coding techniques, some of which you will
have already discovered, and some of which will be new and interesting
ideas. Read them through when you get them to acquaint yourself with
the ideas, and go through them every now and then as a checklist to
make sure you arent missing any opportunities to make your life
easier by applying the ideas.
When I need to brush up on a subject, Ill usually pop down to
Computer Literacy and start browsing, but I tend to walk away with one
of OReillys Nutshell Handbooks. In my experience, they
are clear, well-written, and very useful. The tome I use as a Perl
reference is Programming
Perl, by Randal L. Schwartz, Tom Christiansen, and Stephen Potter,
edited by Larry Wall himself.
TEX
I do most of my document formatting these days in HTML for
portability, Microsoft Word for convenience, or PageMaker for control,
but I havent retired my tomes on TEX from the bookshelf, and Id probably head
for them immediately if I had complicated equation formatting to do or
needed to convert huge quantities of text using Emacs or Perl regular
expressions (though I would probably devote a bit of time to checking
on the suitability of learning RTF). Donald Knuths The
TEXbook is the canonical reference,
and Leslie Lamports LATEX: A Documentation
Preparation System Users Guide and Reference Manual makes
TEX somewhat more approachable. (By
all means, if you have a PostScript printer to use with TEX, make sure you get the public-domain code for
using PostScript fonts. I find Palatino much more readable than
Computer Modern, and I expect many other people will as well.)