aspose file tools*
The moose likes OO, Patterns, UML and Refactoring and the fly likes Dream collection of books for this forum? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "Dream collection of books for this forum?" Watch "Dream collection of books for this forum?" New topic
Author

Dream collection of books for this forum?

Sanjeev Arya
Ranch Hand

Joined: Feb 13, 2001
Posts: 58
Hi all,
I am thinking of building a personal collection pertaining to this forum. Here is my short-list till this time:
1. Design Patterns (GoF)
2. Refactoring (Fowler)
3. Extreme Programming Explained (Beck)
4. The Pragmatic Programmer (giveaway this week)
I am still to read #3 (Beck) but it does seem like the only book on XP at this time, correct?
Anybody volunteering to share there dream collection? Your own collections on the lines of expert collections at amazon...
Of course this post gives me a chance of starting it all for free
cheers
Sanjeev
Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
i would add fowler's UML Distilled.
Desai Sandeep
Ranch Hand

Joined: Apr 02, 2001
Posts: 1157
Larman's Applying UML and Patterns
And
Fowler's Analysis Patterns
Junilu Lacar
Bartender

Joined: Feb 26, 2001
Posts: 5018
    
    8

Originally posted by Sanjeev Arya:
3. Extreme Programming Explained (Beck)
I am still to read #3 (Beck) but it does seem like the only book on XP at this time, correct?

There are actually three books out there: XP Explained Embrace Change, Planning XP (by Beck and Fowler) and XP Installed. I think Robert Martin is working on another XP book, too.
Junilu
[This message has been edited by JUNILU LACAR (edited May 22, 2001).]


Junilu - [How to Ask Questions] [How to Answer Questions]
Panagiotis Varlagas
Ranch Hand

Joined: Nov 27, 2000
Posts: 233
My list would be:
- Refactoring *
- Design Patterns *
- Analysis Patterns
- UML Distilled *
- The Siemens Patterns book (Buschmann et. al)
* = I own those
Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
Has anyone read "Pattern Hatching : Design Patterns Applied"?
It got 5 stars on Amazon.
Sanjeev Arya
Ranch Hand

Joined: Feb 13, 2001
Posts: 58
Thanks for the exciting suggestions... I had forgotten a few, here is the latest wish list:
1. Design Patterns (GoF)
2. Refactoring (Fowler)
3. Extreme Programming Explained (Beck)
4. The Pragmatic Programmer (giveaway this week)
late add-ons
5. UML Distilled (Fowler)
6. Surviving O-O Projects (Cockburn)
The last author's (pronounced Co-burn) book is also what I found very neat and concise reading. Forgot to put it in the first list.
Is Larman's book good? Isn't it the one with a gradually building case study throughtout the book (I think I browsed through it once)? Does it talk about GoF patterns only or are there other new patterns too?
Thanks again.
Sanjeev
Nigel Browne
Ranch Hand

Joined: May 15, 2001
Posts: 673
Larman's book is a very good source for how to apply UML to a real case. However I thought that it lacked information on patterns and should really expand that section or else take the pattern reference out of the title. I would give it a 7/10.
Vishakha Ahuja
Ranch Hand

Joined: Sep 13, 2000
Posts: 191
I've the GOF book and the UML distilled by Martin Fowler.
I got Enterprise Java with UML (by C.T Arrington) from JavaRanch giveaway. It is a very nice book.
I'm planning to get something on XP and refactoring.
Sanjeev Arya
Ranch Hand

Joined: Feb 13, 2001
Posts: 58
Originally posted by Nigel Browne:
Larman's book is a very good source for how to apply UML to a real case. However I thought that it lacked information on patterns and should really expand that section or else take the pattern reference out of the title. I would give it a 7/10.

That is what I thought when I browsed through the book... it has a totally different concept of patterns perhaps. Certainly not close to the strict GoF interpretation of patterns.
thanks
Sanjeev
Sanjeev Arya
Ranch Hand

Joined: Feb 13, 2001
Posts: 58
Originally posted by JUNILU LACAR:
There are actually three books out there: XP Explained Embrace Change, Planning XP (by Beck and Fowler) and XP Installed. I think Robert Martin is working on another XP book, too.
Junilu
[This message has been edited by JUNILU LACAR (edited May 22, 2001).]

Thanks Junilu, just checked at Amazon. All these 3 books have got rave reviews there. I will browse them anyway but any personal comments/preferences regarding these, if you had to choose one?
cheers
Sanjeev
Mark Herschberg
Sheriff

Joined: Dec 04, 2000
Posts: 6037
I give a talk to college kids entitled "Real World Softare Engineering." The following is my list of reerences and recommended reading.
References with * are "must reads."

OO Skills - Patterns:

  • Design Patterns, Elements of Reusable Software (Erich Gamma, Richard Helm, et al) *
  • Patterns in Java, Vol I & II (Mark Grand)
    Anti-Patterns
  • Refactoring: Improving the Design of Existing Code (Martin Fowler) *
  • http://iamwww.unibe.ch/~scg/OOinfo/
  • http://www.celigent.com/uml/
  • http://www.industriallogic.com/papers/learning.html
  • http://hillside.net/patterns/
  • http://c2.com/ppr/index.html

  • Project Lifecycle - Overview:

    • The Mythical Man-Month (Frederick P. Brooks, Jr.) *

    • Project Lifecycle - Planning:

      • Use Cases: Requirements in Context (Daryl Kulak & Eamonn Guiney)

      • Methodologies:

        • Peopleware: Productive Projects and Teams (Tom DeMarco & Timothy Lister) *
        • Death March: The Complete Software Developer

        • (Hmm, these really aren't mehodology books, I'm not sure why I listed them as such. They're almost meta-methodology though, what to look/out for in a process.)
          Performance:

          • Practical Java: Programming Language Guide (Peter Hagger) *
          • Java in Practice: Design Styles and Idioms for Effective Java (Nigel Warren & Philip Bishop)
          • Java Platform Performance: Strategies and Tactics (Steve Wilson & Jeff Kesselman)

          • Testing:
            • http://www.junit.org/

            • Documentation (internal):

              • UML Distilled: A Brief Guide to the Standard Object Modeling Language (Martin Fowler & Kendall Scott)

              • A couple notes.
                First, some of these books are Java specific, those are slight articfacts from me being a Java guy.
                Second, things like specific performance books aren't necessary (and, of course, must be language specific), however the need to understand performance issues is .
                Third, XP is specifically not listed. XP is the flavor of the month. I'm not saying it isn't good, but rather it's a new methodology that's gotten a lot of hype lately. In my mind it hasn't proven itself. Heck, there are very few XP projects which have been around more than a year or so.
                I haven't yet read this weeks book giveaway, but I'll be sure to check it out.

                --Mark
                hershey@vaultus.com
                [This message has been edited by Mark Herschberg (edited May 22, 2001).]
Desai Sandeep
Ranch Hand

Joined: Apr 02, 2001
Posts: 1157
Forgot to mention, the Three Amigos User guide and Reference Guide.
Also, "The Complete UML Training course" is good although it doesn't have a very good rating at Amazon .
-- Sandeep
Sanjeev Arya
Ranch Hand

Joined: Feb 13, 2001
Posts: 58
Originally posted by Desai Sandeep:
Forgot to mention, the Three Amigos User guide and Reference Guide.
Also, "The Complete UML Training course" is good although it doesn't have a very good rating at Amazon .
-- Sandeep

Interesting... I am of the opinion that I would always defer shelling $$$ on a tome when almost all of what I will usually need is given in UML Distilled (Fowler). Don't they always advise not to overdo a UML diagram anyway?
Ideally, I would like to have no more than 1 book af a category, at least at the beginning. so I am curious to know how you think this book might be better than what others have suggested and one that I have personally used (UML Distilled)? I am also curious because the Amazon reviews are absolutely failing grade (like you also noted) even though the authors need no introduction.
Thanks
Sanjeev
shailesh sonavadekar
Ranch Hand

Joined: Oct 12, 2000
Posts: 1874
there are many books on patterns & they will continue to come.
There is book by James Cooper " Java Design Patterns "
There are books on Antipatterns . I think there are three volumes.
PLOP Volumes are invaluable ( Total four voulmes are published yet. )
Another very important book is by Linda Rising " The Pattern Almanac 2000 " which is great collection of more than 800 patterns collected diligently by The Author from various sources.
There are not only structural , creational patterns defined in GOF book , But there are patterns for other industries covered in that book.

Another input is welcome.
Junilu ,as you have mentioned " Robert C. Martin " is working on new book on XP. That can be great feast for XP lovers.
Apart from those I have books on congnitive patterns & business patterns. It Seems that the s/w people in future are going to speak the language of Patterns.
I hope this will of some use.
Your Friendly bartender
Shailesh.
Sanjeev Arya
Ranch Hand

Joined: Feb 13, 2001
Posts: 58
Mark,
Thanks for your time.
I will be looking forward to critical comments, in this forum, on 2 books mentioned by you, until I walk to my local book store to have a look:
1. Java Design Patterns
2. AntiPatterns
I haven't put these on my list yet because:
a. my patterns guru tells me (as of 2 weeks ago) he has not found a single design patterns book that doesn't "miss the whole point about patterns." his only recommendation till now on patterns is good old GoF... so Java Design Patterns is not in the list yet.
b. I would ideally like to have only one book in each category at the beginning. And AntiPatterns seems too close to Refactoring. Isn't the whole idea to avoid making common O-O mistakes like very big classes/methods, or redundant classes etc.? Refactoring catalogs similar things and their solutions, right? Please correct me if I am wrong... until then AntiPatterns is not in my list.
c. I haven't browsed through either of these 2 books yet
thanks again
Sanjeev
shailesh sonavadekar
Ranch Hand

Joined: Oct 12, 2000
Posts: 1874
tell your pattern guru's recommendation ? We will be enlightened.
your friendly bartender
Shailesh.
Sanjeev Arya
Ranch Hand

Joined: Feb 13, 2001
Posts: 58
Originally posted by shailesh sonavadekar:
tell your pattern guru's recommendation ? We will be enlightened.
your friendly bartender
Shailesh.

Hi Shailesh,
My guru's only recommendation on patterns is Design Patterns (GoF) even though the examples are in C++/Smalltalk (not Java). I have used it and it is cool. Especially the "Consequences" section of each pattern... for instance, the Visitor pattern is clearly mentioned as cumbersome for scenarios where the object structure is not yet fixed and may extend by adding more classes. That is honestly mentioned as a weak point of the Visitor pattern... and so on for other patterns too. People might miss this subtle point and go on to write complete books talking about the blind use of patterns. The bottomline is that GoF is concise and pithy. The authors seem to have done more work than usual at the beginning, and then wonderfully edited the work to make it readable. Just like a good movie! Some books seem to have been written just to fill so many pages. This one, the GoF, is the opposite.
I will be glad to hear critical reviews about the book you recommend "Java Design Patterns", especially from experts in this forum. So far, my only recourse have been my guru and the Amazon site; both have (big) thumbs-down for this Java Pattern book.
Again, I am looking for something more than just a list of recommended books. There have been a few recommendations for "Java Design Patterns" but not a single "critical" review about it in this thread. Ideally a recommendation would be accompanied by precious comments.
Thanks again
Sanjeev
Mark Herschberg
Sheriff

Joined: Dec 04, 2000
Posts: 6037
Are Anti-Patterns the same as refectoring? Yes, and no.
Yes, in general anti-patterns are things to look for and fix. The same is true of refactoring. But both are general terms.
Martin Fowler's book on Refactoring looks at the microscopic level. How to fix individual classes and methods.
The Anti-Patterns book I'm referrring to foxuses on a much higher level. It has not only code anti-patterns (at a higher level), but others.
Two sample anti-patterns from the book:
Lava Flow:
When code just grows, spegitti-like, and then hardens into something you can't remove.
"um, yeah, I think Bob and Alice coded that 18 months ago...yeah, Bob left, and lice is in a differen group... No, I looked at it 3 months ago, I couldn't quite figure out what was going on. I treied removing referneces to the code, but everything just crashed, so we left it in there."

Golden Anchor:
A big, expensive pieces of equipment or project which people hang on to for emotional reasons, or because of the extensive investment.
--Mark
hershey@vaultus.com
Sanjeev Arya
Ranch Hand

Joined: Feb 13, 2001
Posts: 58

I had a chance to visit the b&n here and browse some of the suggestions. My comments:
XP Explained (Beck): Very nice style. Pithy and precise. Tiny chapters. Interesting mix of project discussions, such as the Chrysler C3 project, and ideas, such as for pair-programming...
Java Design Patterns: Not impressive at all. The overriding objective in this book seems to be to have a Swing-based GUI for each pattern. Very confusing. Don't even compare with GoF.
Planning XP (Beck and Fowler): Neatly written with many useful real-life examples and scenarios. Same style as XP Explained. But more for project managers and the like so I will defer buying this book to a later time.
XP Installed (Jeffries): Seems to talk a lot of Beck, at the expense of XP . Mostly a rehash of Beck's book. Detailed discussion of one XP project called C3. For the XP curious, many more similarly titled books are on the cards (XP this and XP that)!
1. Design Patterns (GoF)
2. Refactoring (Fowler)
3. Extreme Programming Explained (Beck)
4. The Pragmatic Programmer (giveaway this week)
5. UML Distilled (Fowler)
6. Surviving O-O Projects (Cockburn)
Still to visit Larman's book...
Sanjeev
vaibhav punekar
Ranch Hand

Joined: Jan 20, 2001
Posts: 134
Panagiotis Varlagas has mentioned about hte "SIEMENS PATTERNS BOOK".Does anybody has any idea about this book.I m workink with Siemens only and m eagar to know about its availibility.Thanks.
Panagiotis, would you please throw some light on it.


VAIBHAV <BR>SCJP
Sanjeev Arya
Ranch Hand

Joined: Feb 13, 2001
Posts: 58
Hi,
I am reviving this thread again to add a book I consider a personal favorite (Larman), of course I haven't read this week's giveaway yet . I almost took "UML Distilled" away from the list because Larman's book covers almost all of the UML typically needed but left it in the list for the time being.
Here's the final list:
1. Design Patterns (GoF)
2. Refactoring (Martin Fowler)
3. Extreme Programming Explained (Kent Beck)
4. The Pragmatic Programmer (Andrew Hunt, Dave Thomas)
5. UML Distilled (Martin Fowler)
6. Surviving O-O Projects (Alistair Cockburn)
7. Applying UML and Patterns (Craig Larman)
cheers
Sanjeev
Bala Raj
Ranch Hand

Joined: Sep 12, 2000
Posts: 75
One of my friend told me that the following two books are good for UML and Design Patterns.
1. Instant UML by Pierre-Alain Muller
2. Java Design Patterns by James Cooper
Any suggestions,
Bala.
[This message has been edited by Bala Rajamani (edited October 03, 2001).]
Mark Herschberg
Sheriff

Joined: Dec 04, 2000
Posts: 6037
I'm glad this thread got revived, because it's certainly going to be useful for many people.
In my previous posting to this thread, I explicitly did not include XP on my list. I've seen a number of other books people recommend that I disagree with for the same reason. I'll expand on my reasoning here.
Let me start by asking the following question. How many XP projects do you know of that have survived at least 5 years? That is, a project which used XP 5 years ago, and is still around today (even if it didn't use XP during all 5 years). I don't think there are any, mostly because XP isn't 5 years old.
How many models of cars built in 1996 are considered classics? Correct me if I'm wrong, but I don't think there are any. Why? Because it takes years for the model to be recongized as significant/valuable/important.
Here's a new drug that beats cancer. I tried it on 3 people and it worked on all of them. Is it one of the greatest drugs of all time? No, not until it's been well tested among thousands of people over many years.
With cars it usually takes decades. With drugs it takes thousands of trials. In software, we use a shorter timeframe and fewer projects. Still, in my mind, I don't think XP has proven itself yet. It comes from a well respected developer, ok, that's a point in favor of it. But I know of very few projects which actually have used XP. How can I evaluated it and call it important with such little information? It's gotten a lot of buzz, true. I attribute that to a) coming from someone so well respected, and b) being so radical it makes for good publicity in magazine and a good topic of conversation among programmers. Buzz alone does not prove the point, success does.
Contrast this with RUP. This process has been around far longer. It's been proven. That's not to say it's perfect, but I have more faith in the long term stability of a RUP based project than an XP one because it's been used successfully far more often. (As a side note, I know of far more college classes, which tend to adopt industry trends very slowly, which discuss RUP, rather than XP.)
You can argue design patterns aren't much older than XP. You're right. But I've heard literally hundreds of cases of design patterns being used successfully. It seems far more proven to me.
Bottom line, to me, XP has not yet proven itself. Maybe it has done more than I've heard, i.e. there are hundreds of successful XP projects, and I just haven't heard from them. I'm not saying XP isn't good, just that I don't yet know it to be good, yet.

So what's my point? My point is my "dream list" of books only includes books on time tested material. However, I also recognize the importance of keeping up with latest trends, so you can evaluate them for yourselves. But you should differentiated between the two.
The idea being that, the UML books I will read and take a "gospel" because it's been well established. The XP book, I will read, but only for the purpose of being able to follow the current debate as it tries to prove itself.

--Mark
[This message has been edited by Mark Herschberg (edited October 03, 2001).]
Alan Shalloway
Ranch Hand

Joined: Sep 26, 2001
Posts: 60
don't forget peter coad's Java Design. Still the best java design book out there even if it doesn't talk about patterns.
Bruce Eckel's Thinking in Java (available online at www.mindview.net) is also brilliant and has some very innovative ways of doing things in java. I particularly like his use of inner-classes on call-backs. Bruce and I are doing a Design Patterns Applied course in December in Seattle if any of you are interested - should be a blast.
------------------
Alan Shalloway,
Look for Jim Trott and my book: Design Patterns Explained
Visit our site Net Objectives.
Visit our on-line companion to the book


Alan Shalloway.<BR>Look for Jim Trott and my book: <A HREF="http://www.amazon.com/exec/obidos/ASIN/0201715945/ref=ase_electricporkchop/103-0514572-3811868" TARGET=_blank rel="nofollow">Design Patterns Explained</A><BR>Visit our site <A HREF="http://www.netobjectives.com" TARGET=_blank rel="nofollow">Net Objectives</A>.<BR>Visit our <A HREF="http://www.netobjectives.com/dpexplained/index.html" TARGET=_blank rel="nofollow">Design Patterns Explained Community of Practice</A><BR>Check out our <A HREF="http://www.netobjectives.com/xml/xml_cdrom_info.htm" TARGET=_blank rel="nofollow">CDROM based audio training in XML</A>
Jim Dong
Greenhorn

Joined: Jul 09, 2001
Posts: 12
Alan,
since you are here, can you share your list of recommended
pattern/OO books?
Thanks.
Johannes de Jong
tumbleweed
Bartender

Joined: Jan 27, 2001
Posts: 5089
Actually Mark I don't agree with you here. Though XP itself as a "methodology" is not very old , it is just like patterns based on years and years of real experience. You must consider the resumes of the people that are shaping/creating XP when you think of the "age" of XP.
Kyle Brown
author
Ranch Hand

Joined: Aug 10, 2001
Posts: 3892
    
    5
Originally posted by vaibhav punekar:
Panagiotis Varlagas has mentioned about hte "SIEMENS PATTERNS BOOK".Does anybody has any idea about this book.I m workink with Siemens only and m eagar to know about its availibility.Thanks.
Panagiotis, would you please throw some light on it.

The SIEMENS patterns book is actually "Pattern Oriented Software Architectures: A System of Patterns" by Buschmann, et. al.
Volume 1: http://www.amazon.com/exec/obidos/ASIN/0471958697/qid=1002282769/sr=2-1/ref=sr_8_23_1/107-9205676-0304540
Volume 2: http://www.amazon.com/exec/obidos/ASIN/0471606952/qid=1002282769/sr=2-2/ref=sr_8_23_2/107-9205676-0304540

------------------
Kyle Brown,
Author of Enterprise Java (tm) Programming with IBM Websphere
See my homepage at http://members.aol.com/kgb1001001 for other WebSphere information.


Kyle Brown, Author of Persistence in the Enterprise and Enterprise Java Programming with IBM Websphere, 2nd Edition
See my homepage at http://www.kyle-brown.com/ for other WebSphere information.
Kyle Brown
author
Ranch Hand

Joined: Aug 10, 2001
Posts: 3892
    
    5
Originally posted by Mark Herschberg:
[B]I'm glad this thread got revived, because it's certainly going to be useful for many people.
In my previous posting to this thread, I explicitly did not include XP on my list. I've seen a number of other books people recommend that I disagree with for the same reason. I'll expand on my reasoning here.
Let me start by asking the following question. How many XP projects do you know of that have survived at least 5 years? That is, a project which used XP 5 years ago, and is still around today (even if it didn't use XP during all 5 years). I don't think there are any, mostly because XP isn't 5 years old.
[B]

Actually, I can think of a couple of projects at Chrysler (not C3, where XP started unfortunately) that are close to 5 years old now. However, the key is that people from the Smalltalk industry (Kent, Ward, Ken Auer, myself, etc.) have been applying all or most of the XP principles for nigh on 10 or 15 years now and have had hundreds of successful projects. We can't call them "XP" successes because we didn't have a name for it back then.

------------------
Kyle Brown,
Author of Enterprise Java (tm) Programming with IBM Websphere
See my homepage at http://members.aol.com/kgb1001001 for other WebSphere information.
Frank Carver
Sheriff

Joined: Jan 07, 1999
Posts: 6920
When comparing things as complex as methodologies I think it's important to be clear about what is being compared. XP is often considered a methodology, but it really belongs in a class of approaches to methodologies - "meta methodologies" if you can stomach the term.
What makes XP (and the other highly-adaptive) approaches so significant is the way they try to set the focus on what is really important about software development, and disdain the "ceremony" associated with traditional methodologies. It's possible to both understand and apply XP based on just a short chat or a few pages of notes; the basic premise is so simple. I can't think of any of the more "mature" processes which work like this; they have all grown towards lists of documents, intermediate deliverables, meetings, symbol libraries, sequences of quality gates and so on - all of which have to be learned (or at least discussed) before implementing such a process. In a sense, all implementations of an adaptive process such as XP should be different, having adapted themselves to the social, corporate and economic environment in which they operate. Each implementation of XP should generate its own lists of deliverables.
Another thing to consider is that there may actually be considerably fewer examples of long-running projects which use adaptive methodologies, even in several years time when they are familiar and well documented. I don't think that this is necessarily a sign of failure, though. Adaptive methodologies are able to work well in an economic climate which thrives on change and fast turnaround. It's possible that many highly successful projects using XP are unlikely to still be running after five years, because they met their goals quickly and simply, and gave the high-level decision makers the freedom to stop and go do something else. It could be that the long-running multi-million-dollar projects are themselves the failures, only kept going because so much has already been invested.
For me, Kent Beck's "XP Explained: Embrace Change" definately counts as a classic book. I don't use it as a reference any more, but I do urge all my developer colleagues to understand what it contains and what it means. And I've lent it out more than any other book I own!
My short list of other classics would also include:

  • The Pragmatic Programmer (metioned above)
  • Programming Pearls by Jon Bentley
  • Peopleware (mentioned above)
  • Design Patterns (mentioned above)
  • The Mythical Man Month (mentioneed above)

  • I deliberately don't include books which are too specific to particular languages or technologies. "Refactoring" is a good book, but it is too specific to Java for this list (just as it's predecessor - Kent Beck's "SmallTalk best Practice Patterns" - is too specific to SmallTalk) Where is the language-independent refactoring book? Likewise "UML Distilled" is easily my favourite UML book, but in many ways UML is just another language, albeit a pictorial one.
    I encourage people to check out "Programming Pearls", though. The original edition used to be my most-lent-out book. Until it never came back

Read about me at frankcarver.me ~ Raspberry Alpha Omega ~ Frank's Punchbarrel Blog
Johannes de Jong
tumbleweed
Bartender

Joined: Jan 27, 2001
Posts: 5089
Thanks for responding to my e-mail Frank. I wanted to see you comments here
Sanjeev Arya
Ranch Hand

Joined: Feb 13, 2001
Posts: 58
Originally posted by Frank Carver:

...
For me, Kent Beck's "XP Explained: Embrace Change" definately counts as a classic book. I don't use it as a reference any more, but I do urge all my developer colleagues to understand what it contains and what it means. And I've lent it out more than any other book I own!
My short list of other classics would also include:

  • The Pragmatic Programmer (metioned above)
  • Programming Pearls by Jon Bentley
  • Peopleware (mentioned above)
  • Design Patterns (mentioned above)
  • The Mythical Man Month (mentioneed above)

  • I deliberately don't include books which are too specific to particular languages or technologies. "Refactoring" is a good book, but it is too specific to Java for this list (just as it's predecessor - Kent Beck's "SmallTalk best Practice Patterns" - is too specific to SmallTalk) Where is the language-independent refactoring book? Likewise "UML Distilled" is easily my favourite UML book, but in many ways UML is just another language, albeit a pictorial one.
    I encourage people to check out "Programming Pearls", though. The original edition used to be my most-lent-out book. Until it never came back

I agree with Frank on the value of being XP-aware. Another thing often overlooked in evaluating XP values is the value of small and short projects. Huge projects are not necessarily the only metric for evaluation here. Even if a large project completes successfully , is 1 large project more valuable than 5 shorter projects?
However, I disagree with Frank on "Refactoring". The information there is not "specific to Java" and can be applied to most OO languages. Only the examples are in Java, but I can still apply, say, the "Move Method" pattern in C++ or C# as much as in Java.
Now, outside this OO collection, I would like to ask people to review "Effective Java" by Joshua Bloch (one of Sun's elite and APIs architect). Its a tiny little book (200 odd pages) with 50 or so gems on using Java (and OO in general) effectively. Written in the style of "Pragmatic Programmer" with short, 3-4 page chapters in very simple english. The only reason I am hesitant to put it on the list is that, as Frank mentions, its shelf-life would be tied to that of Java. Just like I would't want to put an "Effective VB" book on the list, I wouldn't put this one, but it remains one heck of a book! Try it.
I haven't checked "Programming Pearls" yet. One criteria for my list is to keep it short and avoid overlap as much as possible because of obvious budget reasons . Is the advice in this book any similar to Pragmatic Programmer or the like?
Thanks
Sanjeev
Frank Carver
Sheriff

Joined: Jan 07, 1999
Posts: 6920
"Programming Pearls" is not really like "the Pragmatic Programmer" - it's more of a collection of anecdotes worked into examples of alternative approaches and elegant solutions to problems. Everyone I lent it to found at least one of the chapters inspiring.
From one of the reviews on Amazon:
Elegant solutions to complex programming problems are free from the rot of time. Programming is a thought process largely independent of the notation used to write it down. The solutions are sketched and explained rather than coded, and the solutions are complete. There is a certain mystique about taking a complex problem, finding an initial solution and then refining it down until it kicks some big time. There are some major lessons in program refinement explained in these solutions.

For more see: Amazon
Sanjeev Arya
Ranch Hand

Joined: Feb 13, 2001
Posts: 58

Effective Java, the book I mentioned earlier, is reviewed pretty favorably at the Javaranch Bunkhouse itself! check here:
http://www.javaranch.com/bunkhouse/bunkhouseAdvanced.jsp
Sanjeev
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Sanjeev Arya:
However, I disagree with Frank on "Refactoring". The information there is not "specific to Java" and can be applied to most OO languages. Only the examples are in Java, but I can still apply, say, the "Move Method" pattern in C++ or C# as much as in Java.

I agree and want to add that 'Smalltalk Best Practice Patterns' also is valuable to non-smalltalkers. I read it without knowing Smalltalk, and I learned a lot of it (and besides it maked me curious about Smalltalk... ;-)
Of course, if you are more interested in Java, you could instead read "essential Java Style" by Jeff Langer, which is an adaption of SBPP to Java.


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
 
 
subject: Dream collection of books for this forum?