BOOKS : Effective Java
Been reading this on the train to work - it's a work book after all
This is a fantastic book, and I highly recommend it to anyone who's been programming Java seriously for more than a year. It covers everything from the pitfalls of serialization to the pitfalls of inheritance. In fact it is mainly pitfalls and how to avoid them.
Some places are truely eye-opening, and applicable to all OO languages. In fact I would love to see M$ put out the equivilent book for c#, but I don't think their marketeers would like it.
Inheritance is basically bad. Now I typically do everything by Types anyway, but I didn't realise it was quite as evil as it appears.
Immutable types are good, but I didn't realise how good they were. In fact they end up being very, very good.
Serialization is very hard, and extremely hackable. And here are the ways to address the hacks...etc
Bloch has an effective style, hardly every boring one, and truely explains, from a conceptual to a practical level, all the problems he is highlighting. You understand why there's a problem, and what root cause lead to it.
The only thing I would complain about is that every now and then he drops a remark which I think is very important as a little paragraph right at the end of a section. Maybe this is because of my own priorities, or maybe he is baiting us with more - think for ourselves and so on - but it is somewhat frustrating - what if I miss that point when next I skim?
If you are not a Java person I would still, hesitantly, recommend it to you. The advice about the highlevel, non-Java specific stuff is invaluable, and is the reason I made the comments about security in my Ruby On Rails post.
This is a fantastic book, and I highly recommend it to anyone who's been programming Java seriously for more than a year. It covers everything from the pitfalls of serialization to the pitfalls of inheritance. In fact it is mainly pitfalls and how to avoid them.
Some places are truely eye-opening, and applicable to all OO languages. In fact I would love to see M$ put out the equivilent book for c#, but I don't think their marketeers would like it.
Inheritance is basically bad. Now I typically do everything by Types anyway, but I didn't realise it was quite as evil as it appears.
Immutable types are good, but I didn't realise how good they were. In fact they end up being very, very good.
Serialization is very hard, and extremely hackable. And here are the ways to address the hacks...etc
Bloch has an effective style, hardly every boring one, and truely explains, from a conceptual to a practical level, all the problems he is highlighting. You understand why there's a problem, and what root cause lead to it.
The only thing I would complain about is that every now and then he drops a remark which I think is very important as a little paragraph right at the end of a section. Maybe this is because of my own priorities, or maybe he is baiting us with more - think for ourselves and so on - but it is somewhat frustrating - what if I miss that point when next I skim?
If you are not a Java person I would still, hesitantly, recommend it to you. The advice about the highlevel, non-Java specific stuff is invaluable, and is the reason I made the comments about security in my Ruby On Rails post.
0 Comments:
Post a Comment
<< Home