Effective Programming: More Than Writing Code
by Jeff Atwood
Date Read 9/2012
I’ve been following The Coding Horror blog for at least a few years. When I heard that the author released a book, via a blog post on the blog, , I felt both excited and unexcited. Excited because I like author. Unexcited because I discovered that it’s mostly reprints from the blog. However, the price of $2.99 for the book pulled me in. And I’m glad it did.
You might have read a few posts from the blog, but most likely not all. When put together as a book, I was inclined to read it from cover to cover. My success rate on reading blog posts, especially longer ones, is low. So most of the material was new to me.
Excellent topics! Let’s take an overview of the sections:
Those are sections and they each contain a few chapters.
Easy to read. And fun! Most of the chapters are short. I love books like that. I can easily read one or two chapters on a train. This was a perfect book for that. The author can write. Sometimes he made me laugh. But I really enjoyed the easy to read, conversational style.
Filled with lots of tips. I’m not a newbie to programming, but I’ve learned a few things: few things about chairs, lighting, application pricing, ui, code reviews, testing, and lots more. Along the way, I kept saying to myself: I couldn’t say it better; I can’t agree more. Nothing really ground braking, but still…
Not all chapters were interesting. A few I decided to skip after reading a few paragraphs. But there were only a few, I think two or three.
A great book to pick up and read casually. You will enjoy it. I can almost guarantee that you will learn something new and find a few facts fascinating. And if you think books are too expensive, then is $2.99 too much? Now I get the chapter on pricing!
Effective Java (2nd Edition)
by Joshua Bloch
Date Read 1/2011
I read the 1st edition (my recommended book) a few years back. I just re-read the 2nd edition. It’s one of the best Java books around (the other must read would be Java Concurrency in Practice).
The 2nd edition is a little harder to read. Some chapters are too long and are not as cohesive (not like they were in the 1st ed), but still, getting all these tips from a Java champion is very valuable. At the very least, you can use his tips to win your arguments and influence others on your team.
And that’s the reason I’m recommending this book: read it to become a better Java programmer. Isn’t that a good reason?
Pro JPA 2: Mastering the Java™ Persistence API
by Mike Keith, Merrick Schincario
Date Read 4/2010
If you’re learning or planning to learn JPA 2, you must own this book. Why? It’s the most complete book on the subject out there. It’s like a JPA bible.
Just a warning: It’s not an easy read. You will most likely have to read some (if not all) chapters at least twice. Some even more. For your first read, it will probably feel dry. Only after you learn by doing, by practicing, you will start “getting it.” This was at least my experience. I really started seeing the power of the book after reading selective chapters again. But of course, your experience might be different.
This is your JPA 2 bible. JPA 2 seems easy on the surface. But if you’re doing a project at work and it requires some advanced mapping, for instance, it’s not so trivial. The nice thing about this book is that it covers the advanced topics as well. And it shows you plenty of examples.
Few missing pieces. Cache coverage is light. Not much to it. Sometimes I felt that a full example, rather than a snippet, would be more appropriate. A few times I had to search the internet to get it to work. And as I mentioned before, this book is not an easy read, be prepared.
Excellent job by the authors. Excellent resource on JPA2, which I think is a great ORM spec.
Beginning Java™ EE 6 Platform with GlassFish™ 3
by Antonio Goncalves
Date Read 12/2009
If you’ve been following the Java EE world, you know that Java EE 6 along with Glassfish v3 application server were released recently. This book has been around since mid year! And it’s still the only book on the subject. To me this was a great gift: I was able to get a complete sneak peek at the new technologies to be released ahead of time.
But was it worth it?
Great overview. If you want to learn what the buzz in the Java Enterprise (EE) world is all about, this is a great book to read. The author does a great job in keeping things at a fairly high level. He focuses on giving you just enough details (but not more), so you can actually start playing around with the technology. That makes this book easy to read. And practical — pragmatic!
Covers the important EE technologies. JPA. JSF. EJB. JMS. Web Services (SOAP and REST). JPA is covered really well. Four chapters dedicated to that. Four chapters for EJBs as well. And three for JSF. Two for each of the web services specs (one for SOAP and one for REST). The coverage on these should be enough to get you started and start playing around. The other technologies are covered very briefly.
Quick read. Not too deep. Not too shallow. This is the author’s style. It’s easy to read. The author gives you a lot of examples in between. On the other hand, at times, it would be nice to have a deeper treatment of a given technology.
Lots of examples. I love to see that. But not every chapter is treated the same. Some chapters have a complete example (Putting It All Together), and some don’t. I was able to run the examples from some chapters but not from all. I had to modify several to make it work. I wish a greater care was put in this area. It’s frustrating when you try to run something and you can’t. But if you’re willing to research it by yourself, you will learn more! I guess that’s the upside. But it does slow you down a bit.
Some technologies are not covered. CDI, is not there. Very light treatment of bean validation.
Overall, an excellent overview of Java EE 6, but not a complete guide/reference on the subject. I was very happy to see this book. And I’m very happy that I had read it. From what I see (at least on Amazon), a second edition will come out in a few months — might want to wait for that. Overall, a very good book on Java EE. Recommended.
by Ross Harmes, Dustin Diaz
Date Read 6/2009
Design patterns. Which ones? Not all of them, but majority. Looking at the TOC, 12 GoF patterns are covered (Singleton, Factory, Bridge, Composite, Facade, Adapter, Decorator, Flyweight, Proxy, Observer, Command, and Chain of Responsibility). Plus the authors included chapters on Interfaces, Encapsulation, Information Hiding, Inheritance, and Chaining.
Plan to re-read. You are most likely not going to “get” this book on your first read. I plan to re-read it. I will take it as an opportunity to deepen my GoF design patterns knowledge. Sort of read two books at once. Sounds like a plan.
by Nicholas C. Zakas
Date Read 4/2009
Focus on best practices. This is where this book shines. I love authors like Mr. Zakas. He tells you how you should be developing, what the best practice is.
Excellent examples. Another great aspect of this book. I learn by examples. I like to see a lot of examples. Great job by the author.
Effective Java (2nd)
by Joshua Bloch
Date Read 2/2009
One Minute ReviewPositives* Best advanced Java book* Loaded with excellent tips* Expert voice* Broad coverage of best practices
Negatives* Some chapters too complex
General OverviewThis is the best Java book available for the advanced/experienced programmers. (For beginners, see Thinking in Java by Eckel.)
Why? Bloch shows you HOW you should be programming in Java. He shows you what to avoid. He teaches you the things that you might not be aware, or things you would only find out after you dived in to it in much detail.
NegativesI read the first edition, and this second edition is great, but some chapters have gotten a bit too complex, too difficult to understand. At least for me. I know this is really Java’s fault, as it has become a lot more complicated with version 5, but I think perhaps the author could explain it a bit better. I lost focus at times. This was the case with the chapter on Generics. Perhaps it’s just me. There are some obscure portions of generics, which are just very hard to read. (I should not blame the author for that.)
Bottom LineOverall, a great book. A must read for serious Java programmers. The tips contained in this book, there is 78 of them, are all coming from the expert. Tried and tested. And even though you might be using only a small portion, these rules of thumb are good to know, good to refer to. A very good checking point as well if you’ve been developing in Java for a few years. This book will tell you whether you’ve been going in a right direction. Or perhaps it will help you steer there.
jQuery in Action
by Bear Bibeault, Yehuda Katz
Date Read 1/2009
One Minute ReviewPositives* Excellent overview of jQuery* Full of examples* Focus on effective usage* Live samples (Lab)
Negatives* In the API docs, an example would be really helpful
General OverviewI read the majority of another good book, Learning jQuery, but jQuery in Action is much better! Much more thorough, covers more material. I think this is the best book available on the subject.
This book has a live lab! As you read the book, you see the examples in action! It’s really cool and useful. I think it’s a great learning tool.
I liked the authors emphasis on doing things the right way. This is especially important when learning a new framework. The examples presented in the books were not trivial but not too difficult either, nice balance.
NegativesI really liked the API documentation for the functions, in which the params are listed and explained. What would have made it even better, is if it also contained examples as part of it. It would have made this book much more reference friendly.
SummaryAll in all, this is an excellent book. The authors are detail oriented and put a lot of thought into creating this book. It shows! If you want to learn jQuery, this book is your best bet.
stylin’ with CSS
by Charles Wyke-Smith
Date Read 5/2008
I looked at this book over at B&N and it got me hooked. Especially the chapter on how to do some basic page layout. I could not believe how simple it could be! The author really got me very interested and that eventually led to me buying this book. I’m glad I did.
If you’re a Java developer like me or a CSS beginner, this is a great book to get you started. It’s really easy to read. Complex concepts are explained in an easy to understand fashion. And the author follows and breeds best practices. These and many others, make this book excellent.
The book is broken in 7 chapters.
The 1st chapter explains the basics of HTML, the different standards and how the page is structured. Simple chapter, but it’s important to understand the basics.
The 2nd chapter, How CSS Works, is really a CSS 101. Basic stuff as well, but as in the first chapter, this is a fundamental knowledge.
Chapter 3 is more of a reference guide on how to style fonts and text. Some very useful info.
Chapter 4 is where the interesting stuff starts: positioning elements. An excellent overview of the box model and some good information about floating and clearing.
Chapter 5 is the best chapter in the book. It goes over several ways to create page layouts. Want to create a 2-column layout? A simple example is shown. How about a 3-column layout? 3-column liquid layout? With the techniques presented by Charles, you can create any type of a layout and you will actually understand what’s going on. Really neat stuff.
In chapter 6, focus is on styling tables, forms, and menus. The author basically presents some techniques on how to style tables for tabular data, and explains the technique on how to create CSS menus. Good chapter to dive in when you’re involved with these.
Chapter 7 summarizes the overall process of building a real site.
I learned several new techniques and tips from this book. I love how the book makes complicated things simple: this is my type of a book. Also, Charles has a good way of making sure these things come across and stay in your head. Not a simple thing to do, but he did a great job.
Spring in Action
by Craig Walls, Ryan Breidenbach
Date Read 1/2008
One Minute ReviewPositives* Excellent overview of Spring (good coverage)* Not too detailed; not too light* Excellent writing style
Negatives* Feels lengthy* Too pro-spring
PositivesWhat’s not to like? I think this is an excellent resource for the Spring Framework. I liked it as a refresher for some of the Spring 2.0 features, but I’m also going to use it as a reference.
This book is easy to read. It has a clear writing style. The author focuses on the important parts, and the subject changes quickly, as Spring’s coverage area is huge.
One of the chapters I really liked (based on my previous experiences), is the web services chapter. Nice and simple. Easy to get it working locally. The Spring/Xfire combination is the best and easiest web services configuration I’ve seen: inject web services beans into the class and your class is not even aware it’s using web services! Very powerful abstraction.
NegativesI read the first edition of the book and I remember it as a quick read. No longer. This edition is over 700 pages! (On the other hand, this is a much better edition in terms of content.)
No mention of Java Config! As far as I know, you can now configure Spring in Java, no XML. It might be Spring 2.5 (I thought it was 2.0).
I think the author could be a little more bold. Yes, Spring is great, but it has some negatives. I did not learn about them in this book. The author has a very “neutral” position. I guess this is my personal desire to see a book that would tell me how to use Spring effectively, some anti-patterns, ie. Effective Spring (if you read Effective Java, you know what I mean).
SummaryExcellent overview of Spring. Good coverage on almost all Spring features. Could be more detailed at times, but overall it does an excellent job introducing the different parts of Spring. I recommend this book to anyone who is using/considering Spring.