(subjective) annotated list of recommended readings

Here I recommend some of the books I have read. Unfortunately lots of trash is flooding the computer book market. I have found annotated lists a good starting point - so try some of these:

Pattern

Design Patterns, GOF. classical must-reading and must-have

Analyses Pattern, Martin Fowler. A rare book in this field - highly recommended especially for medical or financial orianted software analysts or architects

Pattern-Oriented Software Architecture, Buschmann et al. more patterns.

Pattern Hatching, John Vlissides. More insights - add-on, new insights to Design Pattern

Business Modeling with UML, Eriksson et.al. Nice book, tries to cover a broader variety of patterns (development, business, human interaction) - some successfull but I would favour Fowlers book.

Object Models: strategies, patterns and applications, Peter Coad. Simpler, ByExample style book.

Das objektorientierte Konstruktionshandbuch, Heinz Züllighoven. Unfortunately only in German. It is the best book for the WAM-called Software Architekture/View. Highly recommended.

Applying UML and Patterns, Craig Larman. An UML/patterns/process cross over. Probably a good book for a beginning software technician/manager with interests in OO.

Pattern Languages of Program Design (Series). Lots of reading for pattern fans. Some important, some interesting sometimes waste of time..

Methods and Process

Object-oriented Analysis and Design, Grady Booch. A bit outdated, but still a classical. More technical in comparision with Rumbough or Jacobsons books

Object Oriented Software Engineering, Jacobson. The inventor of Use Cases in its classical work. Good, but this topic is typically well covered in lots of newer books about UML.

The Unified Modelung Language User Guide, Booch et al. Despite its name more an notation description you wont learn ood, but how to dray syntactically correct diagrams.

Refactoring, Martin Fowler. Cannot recommend this highly regarded book. Realizing the importance of refactoring is one thing - but a complete book about moving methods and variables is not very interesting.

Extreme Programming Explained, Kent Beck. From the propagator of XP. I can agree with most of his ideas and practices - though my preferred way would be more alike an adaptive or agile process.

Object Oriented Analysis, Peter Coad. I still like this book. Coads simpler Methodology and Notation makes it a good starting point for learning OO. Two companions OOD and OOP available. Cannot recommend OOD though. OOP uses Smalltalk and C++ for all its examples - so if you are interested in a comparision of these two this book is a natural fit.

Java

Java and XML, Brett McLaughlin. I good book about this highly import topic.

Java Pitfalls, Daconta et al. Not as good as Effictive C++ - but serving the same purpose.

Enterprise JavaBeans, Monson-Haefel. Thorough coverage of EJB technology. Perhapes lacking some real world examples. My Opion: do not use ejb (pre ejb 3)

Graphics Java 2 Vol 2, David Geary. Programming GUI-applications with Swing

Thinking in Java, Bruce Eckel

Java Tools for eXtreme Programming, Hightower. Written docs about ant, junit and affiliates. Do not expect anything about methodology though.

Java Programming with Corba, Vogel et al. Best book for Corba with Java.

Core Servlets and JavaServer Pages, Marty Hall. Good read.

The Elements of Java Style, Vermeulen, et al. Why should you invent new ones ?

C++

The C++ Programming Language, Bjarne Stroustrup. The godvather of c++ shares lot of insights. Complete language coverage - but in no ways a gentle introduction.

Thinking in C++, Bruce Eckel. Nice introduction in C++ and OO Programming.

Effective C++, Scott Meyers. Highly recommended for beginning/intermediate C++ programmers. shows typical pitfalls while using this not to easy language.

Advanced C++ Programming Styles and Idioms, Coplien. Old, but still worthwhile book for advanced programmers.

Management

The Deadline, Tom de Marco. Easy and entertaining reading. Myths and truths about software projects a MUST read.

Peopleware, Tom de Marco. Some context as above title.

Reengineering the Corporation, Michael Hammer. Fortunately the reegnineering waves died. But good reading teaching common sense. Nothing specific to software engineering though.

other

Just for fun, Linuz Torvalds. A biography of the famous creator of Linux

XSLT Programmers Reference, Michael Kay. on (larger) part of the xml technology zoo.

Linux Unix Shells, Herold. Bourne, Korn, C-Shell etc. I am not in love with unix shells - but You have to know them. German title.

Linux Unix Grundlagen, Herold. And You have to know the commands too. German title

Agile Web Development with Rails, Thomas, Hansson. Following the hype ! Fun to read and program

articles

The Cathedral and the Bazaar,Eric Steven Raymond. Why is open source successfull ? I cannot agree fully with the author - a biased open source hero, but he has some points.