Recommended reading
A classic. Even after 20 years the advice is relevant and
topical. A must read, even if it's just to assure yourself that people have been making
the same mistakes for years.
An easy to read book for programmers who want to improve
the quality of the code that they write. Sensible, practical advice that's often overlooked.
Equivalent to having a whole bookcase full of
good quality programming books. Code Complete covers lots of issues that you should
be aware of if you're serious about software. Whilst it's not a definitive work on any of
the subjects that it covers, it does give a good and broad overview, offers practical
advice and has copious references for further reading. Don't expect to agree with
everything in it, but read it!
A collection of 26 essays about the "peopleware"
side of project management. The premise being that software projects rarely fail due to
technical difficulties but that software project managers prefer to concentrate on the
technical side of the project because that's what they know best. Demarco proposes that
managing these projects should be about acting as a catalyst for the people involved,
growing good teams, and turning them loose. The essays are persuasive and should be
required reading for software project managers.
Another collection of essays from Tom Demarco. Not as
focused as "Peopleware" but there are some real gems here:
"Management-Aided Software Engineering", "Standing Naked in the Snow"
and "Rock And Roll And Cola War" being especially thought provoking and
"Use of Video for Program Documentation" being such an amazingly simple idea
that it's a wonder everyone isn't doing it! All in all a good read.
The definitive guide. Written in an easy-to-read style the
book covers the whole of the impending standard. Even experienced programmers will learn a
lot from it. A "must read" for all who are serious about the language.
An excellent book that answers a lot of the "why is
C++ like this and not like that" questions. Very readable and very interesting. The
book chronicles the birth of C++ and the subsequent changes on the road towards
standardisation. Highly recommended... Check the last pages of the book before you buy, my
copy jumps from page 406 back to 375 and so misses the end of the namespaces section.
I would recommend aspiring C++ programmers to read both of
the Effective C++ books as early as possible in their C++ careers. It doesn't really
matter if it doesn't make sense first time around, you'll find yourself going back to them
regularly. Reading these books makes you aware of some important C++ issues and even if
you don't fully understand the context, knowing that the issues exist, early on, is
important. Once you become proficient you can read the books again and gain a whole new
level of understanding.
More of the same...
All books on COM, no matter how advanced, spend a few
chapters going over the basics. This book is no different in that respect, what is
different is how the subject is approached. After the initial COM as a better C++ bit
we're thrown straight into IDL to define interfaces. Then the standard IUnknown stuff is
covered and just when you expect to move on to IClassFactory you're told about Class
Objects (of which an object implementing IClassFactory is only one example), Monikers and
other object lifetime issues. Then we change up a gear and move into the realms that most
books on COM ignore; apartments, marshaling and COM security. This book is more
challenging that many other books on COM, but it covers a lot more material. Required
reading...
A wonderfully easy introduction to COM. From why components are a good idea, through
putting a component into a DLL, to in-process COM servers. Then, once you have the basics
under your belt, on to IDL, local servers, DCOM, dispatch interfaces and a "real
world" example. On the way components are built from the ground up, no macros, no
templates. All the code you need is presented along with why you need it and how you could
do it differently using MFC or ATL. Even if you never intend to write a COM object from
scratch, the understanding that the book gives you is priceless. Once you've read this all
of the MSDN examples will make sense... I wish I could have read this book at the
beginning of my work with COM.
Every C programmer writing code on a UNIX system should
read this book. Along with shedding light on the darkest corners of seemingly simple
subjects, such as file IO and signal handling, this book also gives a thorough grounding
in inter-process communication techniques, asynchronous IO and pseudo terminals. Written in
a very readable style, this book is simply essential!
An excellent book how applications are actually produced.
From initial meetings with the client, through analysis, design, development, testing and
release. Using an iterative development cycle, use cases, UML, design patterns, C++,
COM, and SQL server the book charts the progress of a "real" project and is
shows the mistakes as well as the successes. Interesting reading, and reassuring to see
that I'm not the only one who only uses the bits of the methodologies that work for me.
The most useful thing I learnt from this book was how useful use cases can be, from
initial analysis right through to controlling feature creep and working out how to test.
Worth reading.
|