Recommended Books
Patterns
Classics
|
The
C++ Programming Language, 3rd Edition
by Bjarne Stroustrup An excellent book from the creator of C++. Covers all aspects of C++, including the standard library. Also contains chapters about design and development process. Explains not only the "how" but also some of the "why" of C++. |
If you are a professional programmer wanting to learn C++, this is the book for you. |
|
C++
Primer, 3rd Edition
by Stanley B. Lippman, Josee Lajoie This book is the proof that you don't have to turn to shallow "C++ for morons" books if you find Stroustrup's The C++ Programming Language difficult to digest. Starts with the very basics without overwhelming the reader with all of the language's intricacies, but also covers advanced topics after the basis has been laid down. |
If you want to learn C++, yet are afraid that Stroustrup's book will be too difficult, get this book. |
|
Effective
C++, 2nd Edition and More
Effective C++
by Scott Meyers These books can turn a C++ programmer into a good C++ programmer. They cover the dos and don'ts of C++ programming. |
After you learned how to program in C++, get these books to program well. |
Core Java 2, Volume 1
and Volume 2
by Cay S. Horstmann and Gary Cornel In depth and practical Java tutorial. Comprehensive coverage of the language and libraries, with many real world examples. |
This is the book to get if you are a programmer who wants to take on Java seriously. |
|
Concurrent
Programming in Java: Design Principles and Patterns, 2nd Edition
by Doug Lea A very important book that covers a difficult subject. Doug Lea takes the reader through the world multi-threaded and distributed applications, and shows practical solutions using Java. |
So many of us are now required to program in multi-threaded, multi-process and distributed environments. This book helps find your way in this complex world of concurrent programming. Useful even if you don't intend to use Java. |
Smalltalk,
Objects, and Design
by Chamond Liu A good introduction of Smalltalk and object oriented programming. Uses IBM Smalltalk for the exercises. |
This book is great for learning OOP using Smalltalk. |
|
Smalltalk
Best Practice Patterns
by Kent Beck Learn to become a good Smalltalk programmer from the master. Kent Beck introduces the reader to the Smalltalk tricks of the trade. |
After you've learned the basics, get this book to become a better programmer. |
Object-Oriented
Software Engineering With Eiffel
by Jean-Marc Jezequel The up-to-date guide to Eiffel, by Bertrand Meyer's associate. Seems to come in place of a newer edition of Bertrand Meyer's classic Eiffel: The Language. |
To learn Eiffel, this is the book to get. |
|
An
Object-Oriented Introduction to Computer Science Using Eiffel
by Richard S. Wiener Many people claim that Eiffel is a perfect first programming language. Richard Wiener rose to the challenge and created this introductory programming book using Eiffel. |
To make your first programming language an OO language, get this book. |
Instant
CORBA
by Robert Orfali, Dan Harkey, Jeri Edwards A good high level introduction to CORBA. Covers a wide range of topics (CORBA 2.0 ORB, IIOP, CORBA services, and more) without getting deep into the technical details. |
Read this book to learn what CORBA is all about. |
|
Client/Server
Programming with Java and CORBA, 2nd Edition
by Robert Orfali, Dan Harkey Hands on introduction to CORBA and JavaBeans, providing the reader with operative knowledge. Includes many working examples. |
Get this book if you are going to program JavaBeans or CORBA using Java. |
|
Advanced CORBA Programming with C++
by Michi Henning and Steve Vinoski Extremely useful CORBA tutorial. The authors not only explain the theory but ensure that you have a working application in every stage. |
If you are a C++ programmer and want to get seriously into CORBA, this is the book for you. |
|
The
CORBA Reference Guide
by Alan Lamont Pope A complete reference on CORBA and its services. |
If you're seriously into CORBA, you'll need this reference. The details about the services are especially hard to find in other books. |
Essential
COM
by Don Box, Charlie Kindel, Grady Booch Essential reading for anyone serious about COM development. Explains high level concepts, and then takes the reader deep into threading models, apartments, marshalling techniques and security. |
Definitely get this book if you are going to do any serious COM programming. Best understood after having some basic COM and C++ knowledge. |
|
Effective COM: 50 Ways to Improve Your COM and MTS-Based Applications
by Don Box, Keith Brown, Tim Ewald, Chris Sells An advanced COM text. Lists practical guidelines for serious COM programming. |
Read this book to go beyond the COM essentials. |
C++
Object Databases: Programming With the ODMG Standard
by David Jordan A thorough guide to object databases programming. Covers ODMG 1.1, 1.2 and 2.0. Explains both OQL and the C++ mapping. |
If you are going to program an application that uses an ODBMS, this is the book to get. |
|
Object
Databases in Practice
by Mary E. S. Loomis, Akmal B. Chaudhri A comprehensive account of object databases. Contains in depth coverage of different system architectures, example applications, ODBMS selection and performance issues. |
You need this book if you intend to design or administrate an ODBMS. |
|
The
Object Database Standard: ODMG 2.0
by R. G. G. Cattell, Douglas K. Barry, Dirk Bartels The definite reference from the ODMG. |
It is always good to have the reference near by. Keep it handy when you develop ODB applications. |
The
Mythical Man-Month: Essays on Software Engineering, 20th anniversary Edition
by Frederick P. Brooks Jr. "Twenty years ago, Fred Brooks looked at a project he had completed and, like so many of us, asked himself what had gone wrong. Unlike most of us, Brooks found answers besides blaming Fate and other people." --Betsy Hanes Perry. Anyone doing software development should read this classic book: developers, managers, clients. |
Read this book, lend it to your colleagues, organize co-workers and buy it as a birthday present for your boss. |
|
Principles
of Software Engineering Management
by Tom Gilb In this excellent book, Gilb presents his practical methods for producing high-quality, cost-effective software. The main themes are evolutionary delivery, formal inspections and accurate attribute specifications. |
Anyone who shapes or affects the development process in his/her organization should read this book. Carefully. |
|
Becoming
a Technical Leader: An Organic Problem-Solving Approach
by Gerald Weinberg An expert needs to be good in solving problems. A leader, on the other hand, needs to be good in helping others solve problems. It is like the difference between telling someone that 2+2=4, and teaching them how to make the calculation themselves. This book is about evolving technical expertise into leadership. |
If you are (or aspire to be) leading, coaching or consulting technical people, this book is for you. |
|
The
Fifth Discipline: The Art and Practice of the Learning Organization
by Peter Senge This eye opening book will change your understanding of organizations, their dynamics and your own role in them. Senge presents the five disciplines of management and shows how their combination can give rise to a higher form of social existence: the learning organization. |
Get this book to learn the mental tools of modern management, or just to gain better understanding of the world. |
Surviving
Object-Oriented Projects: A Manager's Guide
by Alistair Cockburn It is amazing that a single person can produce such a large amount of sound, insightful and useful advice. Alistair Cockburn presents principles, patterns and case studies for managing projects that use object oriented techniques, choosing "just enough process" and separating hype from reality. |
Even if you are not a manager, and even if you have done OO projects before, you will find a lot of useful advice in this book. |
|
Object
Solutions: Managing the Object-Oriented Project
by Grady Booch Many times, the benefits of a new technology cannot be achieved without changing traditional organizational processes and structures. OO Guru Grady Booch complements his classic Object-Oriented Analysis and Design With Applications with this book, and lays out his management philosophy. The book contains a thorough description of project lifecycle, and includes many useful "key practices" and "rules of thumb". |
This book is especially recommended if you are new to OO techniques or to incremental/iterative development processes. |