Somehow I was lucky that last couple of months stress level was on minimum so I decided to use it until new stress tsunami comes. No, I didn’t ride horses nor played golf nor went out to cheat on my wife nor other tempting things. Instead, I read books, geek books. Actually there were couple of books standing on my to-do-list-before-I-get-kids. Here is a short review of each.
1. Java Concurrency in Practice by Brian Goetz
Just simple – astonishing! I was amazed how low my knowledge of concurrency is. With new multi-core processors showing up every day, concurrency issues are becoming extremely important. Somehow I was always thinking that JVM will take care of that. I still think that low level concurrency issues should be handled by JVM. We have to think about concurrent users executing our code, but code executing on underlying processor forest should be handled by JVM. On the contrary, JVM specification clearly states: “if some code can be distributed on more processors, JVM will do it without taking care of synchronization issues. Developers need to care about synchronizing their code”. This can lead to some very weird execution path of non-atomic operations like for example increment operation. Variable increment is actually consisted of 3 steps – read variable, increment, write back. Two threads in some unlucky timing can get completely different values of incrementation. Brian’s explanations are in plain and simple language easily understandable to everyone.
Highly recommended to ALL Java developers!
2. Enterprise Service Bus by David Chappell
Very good introduction into ESB world. If you are a beginner in this area, this is a must book for you. Explanations are very clear and it gives good guide lines where to go in case you are faced with enterprise architecture and integration issues. Even tough David works for Sonic company, which has its own proprietary ESB solution, he didn’t market it. I liked that. He stayed independent and gave a glance of concepts and technologies, without going into any specific solution.
Recommended to IT Architects.
3. Patterns of Enterprise Application Architecture by Martin Fowler
Huh, hard to tell. Mixed feelings. We all know who is Martin Fowler and he wrote all of his valuable experience inhere. But it was written in 2003.
Unfortunately for Martin, most of chapters in his book are deprecated. He dedicated more then 100 pages to ORM patterns which I am sure nobody uses now because you have tools for that. He also mentions heavily EJB 2.0 and how to avoid known problems with it. In 2003 this was for sure very valuable. Nevertheless I read the whole book, from cover to cover. Martin is a great expert and every word from him is highly appreciable.
I can’t really recommend it anymore.
Well, stress level is still on acceptable level so I am continuing with my geek books. There are only 3 more great books to go – “Beyond Software Architecture”, “Enterprise Integration Patterns” and still in printing new release of “Effective Java” by Joshua Bloch.
Mmmm… so many sleepless nights… so much knowledge… my wife will hate me so much… she will not speak with me and that will give me more time to read… mmm…
I am going to order more books.