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

Archive for the 'Books' Category

10 Books Every Java Software Engineer Must Own February 8th, 2006
Hibernate Quickly December 1st, 2005
Spring In Action November 7th, 2005
The Best Software Writing I September 18th, 2005
Rapid J2EE Development by Monnox June 21st, 2005
My Book List May 26th, 2005
Refactoring To Patterns by Kerievsky May 25th, 2005
Professional Software Development by McConnell May 15th, 2005
Software Craftsmanship by McBreen April 26th, 2005
Programmers at Work: Interviews February 10th, 2005

10 Books Every Java Software Engineer Must Own

I came across a list of Five books every Java developer must own by Rob Sanheim. I commented on the list. But the list got me thinking. What are the books that I consider the “must have” books? Today’s Javalobby newsletter just added to the fire. I had to create the list. So here it is.

1) Effective Java, Joshua Bloch
A lot of people just code in Java, without being aware of the implications. This book clears out those implications.

2) Code Complete 2, Steve McConnell
This book will make you a better programmer. Enough said. My favorite.

3) Refactoring, Martin Fowler
It is getting a little old, but it contains invaluable information on good design, code smells, and more.

4) Design Patterns, GoF
The best book on patterns, though not an easy one. Might want to get the Head First Design Patterns to help you.

5) Core J2EE Patterns, Deepak Alur, Dan Malks, John Crupi
You have to know GoF patterns if you call yourself a good programmer. You have to know Core J2EE patterns if you want to be a good Java programmer.

6) Agile Software Development: Principles, Patterns, and Practices, Robert Martin
Not an easy book, but a best book on Agile, good Object Oriented programming, and patterns.

7) Applying UML and Patterns, Craig Larman
Java is an Object Oriented language, but a lot of people still treat classes as data structures. Learn what an object, and OO programming is all about.

8) Pragmatic Programmer, Andrew Hunt, David Thomas
Contains sound practices, good advice. It will make you a better programmer.

9) Facts and Fallacies of Software Engineering, Bob Glass
See what works in software engineering, and what doesn’t. Bob Glass explains it best.

10) Don’t Make Me Think, Steve Krug
A great little book, great when you’re involved in UI.

Wait List
I have not read these, and that’s why I have not put them in my original list, but the books below should be on your must-read list.

Peopleware, Tom Demarco, Timothy Lister

Domain Driven Design, Eric Evans

The Timeless Way of Building, Christopher Alexander

Patterns of Enterprise Application Architecture, Martin Fowler

Reference
Five books every Java developer must own, Panasonic Youth blog

Javalobby discussion, my list on the bottomJavalobby Newsletter: archives (great newsletter, btw)

Hibernate Quickly


Hibernate Quickly
by Patrick Peak, Nick Heudecker
ISBN 1932394419
Date Read 10/2005

My Rating


A quick book to read. A book written quickly. Good intro and overall a good book, but I expected something better.

The book left a “I need more info” feeling. I know this is supposed to be a “quick” book and not totally comprehensive, but still, any book has to do that. There is just not enough details to understand Hibernate totally. There is enough to get you started, but not enough to get a comprehensive understanding.

Throughout the book, I was thinking “I”m not sure if I believe that” or “that’s not correct.” For instance, in the chapter on testing, the author explains the different test strategies. First of all, none of the strategies explained were really unit tests, and the author does not mention that. Second of all, the author does not explain how you can test using mock objects. That’s just an example, but there were more points like that in the book.

You can read the book quickly (which is good), gain some knowledge, and move on to a more detailed reference book. A decent book.

Spring In Action


Spring In Action
by Craig Walls, Ryan Breidenbach
ISBN 1932394354
Date Read 8/2005

My Rating


Spring in Action is a well written overview book on the Spring Framework. It could have been better, though. Key words: well written overview.

It is an overview. This book covers the different areas of the Spring Framework. The authors do an excellent job there. However, they don’t go into too much detail about any particular topic. They show you a simple example of each part, talk how you can use it, etc. Not too much details.

It is well written. Spring in Action is one of these books that you enjoy reading. It is a technical book but almost reads as a general book. Very good style. Authors did a good job in that regard.

This book tells you a great deal about best practices. It does a good job in that regard as well. However, this book does not cover testing, which is considered a big thing in developement, and Spring makes that easy (supposedly; I’d like to see that in action). How come I can’t find that in the book? Examples are short and in snippets. I like to see full examples, though, as it is easier to see the context.

Overall, a good book on Spring. A great intro to Spring. If you’re new to Spring, this is the book to start with. If you need a reference, this book is not optimal. You might want to look into Pro Spring, which is a much more detailed book.

The Best Software Writing I


The Best Software Writing I
by Joel Spolsky
ISBN 1590595009
Date Read 7/2005

My Rating


If you have been active in the software world, you probably have read most of the articles that are in this book (I had read around 40-50% before reading this book). In that case, this book will not be as beneficial to you, but you’ll enjoy it.

On the other hand, if you don’t know who Joel Spolsky is, or Eric Sink, or Paul Graham — this is a must read for you! You will get introduced to some of the finest writers in the software domain. This book will help get on track.

The one essay that I had not read before, and that left the most lasting impression on me is the EA: The Human Story, which talks about the horrible working requirements in the EA — the computer gaming company. Wow.

The article on outsourcing is great. Most of the articles are high quality. Most are worth reading.

It’s a weekend book. It’s a book that you take with you to the beach. I read the whole book while on vacation in Spain — it’s not technical, easy to read.

Great stuff, Joel.

If you don’t feel like buying the book, you can find the whole list with the links to all of the articles here.

ReferenceLinks to essays in Best Software Writing I

Rapid J2EE Development by Monnox


Rapid J2EE Development
by Alan Monnox
ISBN 0131472208
Date Read 6/2005

My Rating


In one sentence, this book is an overview of Java open-source projects that complement the development cycle. It is a very good overview, actually. Alan Mannox packs a lot of good advice on good development techniques. He mixes it up with a good pragmatic approach.

The author has a very good way of writing. He’s very pragmatic. The book is easy to read. He tells you why you should use a tool or technology, how to use it (by giving a short example), and why you should not use it.

I got a feeling that the author is a detail oriented, good-practices driven developer. I got that feeling throughout the book.

What are the areas covered in the book? Overview of development processes, modeling, code generation, MDA, scripting, AOP, builds, testing, and quality assurance. As you can see, the spectrum is fairly broad, and that’s why I think he did not go into too much detail — it would have been a huge book.

Should you get it? If you’re a senior Java programmer, or if you just not sure what the hype about open-source projects is, or if you are like me, who wants to know the whole development scoop, then you’ll like this book. Just remember (how many times am I saying that?), this is just an overview. I don’t think this is a good book for starters (less than 3 years of experience). A very good book for managers, though. Overall, a good J2EE book. A good reference to open-source projects.

My Book List

I modified my book lists a little…

First, I created a new category: Book List. I’ll post each book that I finished reading in there. If it is a book I recommend, I’ll post it in both categories.

My Book List

The books that I recommend, a subset of this list, are located here.

In addition, I buy (and read) books off of my Wish list at Amazon.com. The list is sorted by priority – how bad I want them. You can have a peek. (Books read do not appear on the list by default, you have to change the view.)

My Wish List at Amazon.com

Refactoring To Patterns by Kerievsky


Refactoring to Patterns
by Joshua Kerievsky
ISBN 0321213351
Date Read 5/2005

My Rating


This book had such a potential…

I thought this was going to be another classic (check Amazon.com reviews). But because of the flows it contains, it is just an OK book. The over-complicated code just ruins this superb piece of work (as another Amazon.com reviewer puts it).

This book is a lot better than Holub on Patterns, which is in the same category: learn patterns by looking at code. However, it has the same type of problems. Mainly, the author wants to illustrate how he is refactoring to patterns using real-life examples. But the examples are not easy to understand! I don’t like that approach. If I cannot understand the code easily (without too much effort), then I get lost, lose interest in the refactoring, and the potential benefit is lost.

This book is not in the same league as Core J2EE Patterns, Refactoring, Agile Software Development, and Design Patterns (GoF). (If you haven’t read them, read them before this one.) First, as I said, the code is out of context (too hard; what’s with the obsession with XML/HTML parsing?). The code is a lot simpler in Refactoring, Core J2EE Patterns, Agile Software Development. Second, the UML diagrams are not that easy to understand (you’ll find clear diagrams in Core J2EE Patterns, Agile Software Development, GoF). Third, the style of writing is OK, but not catchy. So, this book is far away from being a classic…

But this is not a bad book. You’ll get the most value out of it if you have other pattern books by your side, and if you are willing to jump into them while you are reading this one. I did that, and my knowledge about patterns deepened as a result. This book actually forces you to do that. :-) Yeah, really. You cannot learn patterns from this book. So if you want to make sense out of what he’s saying through his code, you have to look at the other books. What other books? Other pattern books, as well as Refactoring (those mentioned above).

This book has some good advice, though. The first couple of chapters are classic. There he explains refactoring, patterns, and code smells. Just excellent. He puts a lot of good advice in the motivation section of each refactoring. We can learn a lot from them. If only the code was easy…

Overall, a decent book, filled with good advice. Based on good practices, good designs. Could have been a classic! But the flaws I mentioned take away too much out of it. There is not much this book needs to get there: leave the comments, replace the code and the UML. Maybe somebody else will do it.

Professional Software Development by McConnell


Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers
by Steve McConnell
ISBN 0321193679
Date Read 5/2005

My Rating


Steve McConnell is one of my favorite writers. He writes in an interesting and easy to follow way. There is only a few (that I know of) in the software industry that do it as good as him. This book is a general overview of the whole software industry. It’s general, but contains some good advice. The chapter on Construx’s professional ladder is very good (you can find it on the web, though). Overall, a good book. Not a required reading, but you’ll enjoy it.

Software Craftsmanship by McBreen


Software Craftsmanship: The New Imperative
by Pete McBreen
ISBN 0201733862
Date Read 4/2005

My Rating


I’m disappointed. I expected more from this book. Being that I want to become a software craftsman, I thought this book is going to give me a fairly clear direction on how to get there. There are some bits and pieces of it, but not very convincing.

What I did not like about this book, is that the author is a craftsman himself, but he wrote in 3rd person. If this was based on his experiences, if this book was more personal, it would have been more convincing. It would have been a lot more interesting. Even though I believe in software craftsmanship, I don’t necessarily agree with bashing software engineering in favor of craftsmanship. I belive both fit together well.

Don’t get me wrong, you’ll find some useful information in this book (that’s why I gave it 3.5 stars), but overall it is just a light treatment of Software Craftsmanship.

Programmers at Work: Interviews


Programmers at Work: Interviews
by Susan Summers
ISBN 0914845713
Date Read 2/2005

My Rating


It’s an important book, recommended by a lot of people. I bought it mainly because Steve McConnell recommended it. Is it good? Yeah, it’s good. Is it great? No. It’s not great because it’s been published in the 1980′s. When you read some of the interviews, you sense that. On the other hand, it is good because you get to see how great programmers think. I especially liked the interviews with the following four great minds: Butler Lampson, John Warnock, Bill Gates, and John Page. I recommend reading them. (I wrote it for myself on the back of the book to re-read those four interviews.)

Favorite Quote

Topics

Tags

Archive

Currently Reading

Info

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

Me on Twitter

»see more

Recent Entries