The Pragmatic Craftsman :: Simplicity from complexity : by Stanley Kubasek ::

Archive for the 'Books' Category

Enterprise Integration Patterns January 12th, 2007
Java Servlet Programming January 12th, 2007
The Timeless Way of Building November 7th, 2006
Design Patterns (GoF) October 20th, 2006
Pattern-Oriented Software Architecture, Volume 1: A System of Patterns October 4th, 2006
Patterns of Enterprise Application Architecture by Fowler August 15th, 2006
Programming Pearls by Bentley August 15th, 2006
Object Solutions — Grady Booch July 13th, 2006
Teach Yourself Regular Expressions in 10 Minutes July 13th, 2006
Programming on Purpose — P.J. Plauger May 5th, 2006

Enterprise Integration Patterns


Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
by Gregor Hohpe, Bobby Woolf
ISBN 0321200683
Date Read 12/2006

My Rating


This is probably the best book on Enterprise Java Messaging. If that is what you desire.

This is not an easy book. I read it all, but I think to actually start implementing based on the patterns, I would have to reread portions of it. This book is loaded with patterns, some small, some larger. And it is a lot to absorb.

The only downside, for me at least, is that I have not worked on a messaging system before. It’s hard to put the information from this book into context.

If you’re working with JMS and Java messaging, you must read this book. On the other hand, if you’re just looking for enterprise patterns, like I was, I think there are other, more applicable books.

Java Servlet Programming


Java Servlet Programming, 2nd Edition
by Jason Hunter
ISBN 0596000405
Date Read 1/2007

My Rating


I should have read this book years ago. It’s an excellent book on Java servlets — a servlets bible. But it shows its age now. But even so, it’s still worth a read (while skipping some sections): it contains detailed knowledge about how the servlets work — information not found anywhere else.

Discussion about session management, servlet codes, servlet lifecycle, environment variables, and more: you can all find it in this book. To add, this book is written in a very good, easy to read style.

The Timeless Way of Building


The Timeless Way of Building
by Christopher Alexander
ISBN 0195024028
Date Read 10/2006

My Rating


Excellent architecture book. From the pure architectural point of view, though. I was looking for more of a software design point of view. I did not find too much of it in this book. It was, nonetheless, a valuable read. Hey, I got to see what ‘normal’ architects go through, and what makes buildings live — you can find a lot of that in this book.

Few interesting points. All patterns have to work together to form a whole, to make the structure uniform. One bad pattern will start destroying it, and eventually it will.

This book is all about thinking in general terms — high level thinking. It’s very important when architecting — same is true when building software.

I also found something else interesting. In the last chapter of the book, the author says that you should throw away your ego. Once you “get” the pattern language, you should throw it away. When starting a new project, always start from scratch — blank piece of paper — and forget about all of the projects you did before. Only then you will create truly ‘live’ structures. Is this possible in software? In the age of frameworks, language dependencies, probably not.

Overall, a great architecture book; but not the software architecture book that I was looking for. (From what I find now, the second book in the series is more applicable to building software.)

Design Patterns (GoF)


Design Patterns (GoF)
by Ralph Johnson, Richard Helm, Erich Gamma, John Vlissides
ISBN 0201633612
Date Read 10/2006

My Rating


A classic.

I have read several books on patterns. This is the best. You’ll get sound design principles as well. You will become a better designer if you read this book. If you can finish it — you might want to take it slow…

This is not an easy book. I had tried reading it couple times but could never finish it. It was boring to me. I was getting distracted by the C++ code that this book has as sample code. But now, after finally reading it from start to finish, I can see that this book has great value.

This book is the definite guide to the most important patterns, the GoF patterns. These guys invented — or first reported — these patterns. Other books, which claim to simplify them and make them easier to remember (ie. Head First Design Patterns), don’t come close to this book. Some of them are helpful, though, and you might want to start with them before you read this book — learning patterns is hard.

There are several approaches in how you can read this book. The authors say you can just select a pattern you are interested in and just read it. I think the best way to read this book is to start with the indroductory chapter, which contains a lot of great advice on design in general; get to know the patterns referenced in these chapters; and then read one of the three major sections: creational, structural, or behavioral. The author refer to patterns in each section, so I think it’s good to read the whole section. It is also good to have other examples of the patterns to look at — you can find many by searching the web.

The GoF patterns are the most important and most widely used patterns. Every architect/senior developer needs to know them. This book is a must have.

Pattern-Oriented Software Architecture, Volume 1: A System of Patterns


Pattern-Oriented Software Architecture, Volume 1: A System of Patterns
by Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal
ISBN 0471958697
Date Read 9/2006

My Rating


This is one of the best design patterns books. I am not the only person that’s saying that. Check out Amazon.com reviews, check out recomendations from Martin Fowler. If you’re into architecture, this is a must read. (As a side benefit, you’ll enjoy reading it.)

By reading this book, you’ll not only gain design patterns knowledge, you’ll get an excellent discussion about architecture in general, and a great OO design discussion.

This book is broken up into eight different sections. The three sections that I enjoyed the most (major part of the book) are architectural patterns, design patterns, and patterns and software architecture discussion.

In the architecture patterns section, the authors have an excellent discussion about the Layers pattern, the Broker pattern, MVC, and Presentation Abstraction Control. I especially enjoyed the Layers and the Broker pattern. (My understanding of the Layers pattern was a little different before reading this book.)

In the design section, I found the following especially valuable Whole-Part, Master-Slave, Forwarder-Receiver, and Client-Dispatcher.

The discussion about software architecture in general and about object-oriented design in chapter 6 is one of the best. It’s always good to refresh your mind how your project should be structured, the qualities it should have. Always valuable.

This is a must read if you’re into architecture and design. You will become better at it by reading (and implementing) the patterns cointained in this book. One of my most valuable books.

Patterns of Enterprise Application Architecture by Fowler


Patterns of Enterprise Application Architecture
by Martin Fowler
ISBN 0321127420
Date Read 8/2006

My Rating


Excellent patterns book. Written in a pragmatic language.

Fowler talks about patterns that relate to domain logic, remote services, data source and more. Even though you probably heard a lot of the patterns discussed in this book (if you’ve been following patterns), you will learn from this book.

Fowler presents the patterns in an interesting way. He tells you how he used it, what worked and did not work for him. He gives you a lot of insight, which in the pattern world, is very important I think as it gives you the context you can use the pattern. It’s good to see what problems he went through, the issues with the potential solution. This book gives you exactly that.

The book has two sections, the first, around 100 pages, is where he discusses the patterns and tells you when to use it. The section about layering the architecture is excellent. The overall section is quick to read. After reading this section, you basically read the whole book.

The second section is the pattern reference where all of the patterns are listed.

The best thing in the book is the author’s pragmatic language and very good, simple examples

This is an important book in my architecture/design library. I plan to re-read this book every year or so, in addition to having it on a side as a reference.

Programming Pearls by Bentley


Programming Pearls
by Jon Bentley
ISBN 0201657880
Date Read 7/2006

My Rating


This is an important book, no doubt about that. For me, however, this was not an easy read. I never got into the book. Maybe my approach was wrong, maybe if the examples were written in a different language than C, maybe… I don’t know.

What I liked about the book is the principles that usually followed at the end of chapters. Those had the most value for me and those alone are worth reading the book.

Why do others give this book such a high rating? I think the real benefit is in trying to actually do the problems at the end of each chapter. I did not do them (and thus I probably did not gain too much out of it). Personally, I think they’re a little bit too low level. They’re very good if you’re trying to learn data structures and algorithms.

Object Solutions — Grady Booch


Object Solutions : Managing the Object-Oriented Project
by Grady Booch
ISBN 0805305947
Date Read 6/2006

My Rating


I love reading what Grady Booch has to say. He’s an authority to me. In this book, he gives a lot of good advice. He gives a lot of good information what OO should be like, not just projects but advice on how to do better OO design. That’s good stuff. This book, however, shows its age. The good stuff is mixed with at times “dry” information, boring at times. A better format of the book would help as well. Nonetheless, a valuable book to read.

Teach Yourself Regular Expressions in 10 Minutes


Sams Teach Yourself Regular Expressions in 10 Minutes
by Ben Forta
ISBN 0672325667
Date Read 5/2006

My Rating


This is a great intro book to regular expressions. The best, I would say. This is the first book I read on regular expressions. I loved the short-chapter style; I loved the examples and the referenced program to run them (though now I can run RE in Eclipse). Like I said, this is the best intro to RE, a valuable tool in your toolbox. For a more advanced book, Mastering Regular Expressions is considered a bible.

Programming on Purpose — P.J. Plauger


Programming on Purpose
by P.J. Plauger
ISBN 0137213743
Date Read 5/2006

My Rating


This book is dated, no question about it. However, it contains several excellent essays that are as relevant today as they were decades ago.

A lot of the techniques discussed in the book are no longer used. This was a book written in the days of structured programming. Those days are over. Thus, I found several of the essays boring. I could not put my full attention into them. They seemed dry.

Several essays in this collection were priceless, though. Worth buying the book just for those. Which Tool Is Next (Ch.7) is an excellent intro to software engineering. It contains several excellent analogies and definitions of software engineering. I think the best essays in the book are the last 5: the author talks about OO Principles and Software Engineering in general. The chapter on Encapsulation (Chp 21) is the best I’ve read. The chapters Heresies of Software Design (Ch 23) and Remedial Software Engineering (Ch 24) are just so “capturing.” They explain what works and do not work in software engineering. They define the whole software engineering industry.

Like I said, this book is dated. But because of the several excellent essays, this book is a keeper. Those essays are worth re-reading. The author is a great teacher, good writer. Most of all, the author speaks from his own experience (years of it).

Favorite Quote

Topics

Tags

Archive

Currently Reading

Info

© 2001-2012 Stanley Kubasek About me :: Contact me

Me on Twitter

The key to performance is elegance, not battalions of special cases. — Jon Bentley and Doug McIlroy - 7 days agoThe ability to simplify means to eliminate the unnecessary so that the necessary may speak. — Hans Hoffmann - 12 days agoSo much complexity in software comes from trying to make one thing do two things. — Ryan Singer - 18 days agoGood code is short, simple, and symmetrical - the challenge is figuring out how to get there. — Sean Parent - 20 days agoSimplicity carried to the extreme becomes elegance. — Jon Frankli - 24 days ago

»see more

Recent Entries