GeeCON Prague 2014*
The moose likes OO, Patterns, UML and Refactoring and the fly likes Book on OOP concepts 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 "Book on OOP concepts" Watch "Book on OOP concepts" New topic
Author

Book on OOP concepts

Olexiy Prokhorenko
Ranch Hand

Joined: Jul 11, 2004
Posts: 97
Hi there,


Friend of mine recently asked me to suggest some perfect book on OOP with Java. He wants it to have all concepts, basics, be easy to read... He is doing his first steps in Java, so he wants to get to know all fundamentals clearly.

And you know what? I realized that I CANNOT SUGGEST any such book. Because I never saw good one. I can advice terrific book about Design patterns ("Head First Design Patterns"), on Java basics ("Head First Java"), but not really _OOP_in_Java_. I think the huggest problem for my friend is that he is going into Java from some non-OOP C. So he is really having some problems with understanding OOP.


So I decided to ask for help of JavaRanch's community. I will appreciate any advice and/or suggestion!

Thank you!
[ July 23, 2005: Message edited by: Olexiy Prokhorenko ]

<a href="http://www.BossTalks.com" target="_blank" rel="nofollow">http://www.BossTalks.com</a><br />Free advices and help for entrepreneurs: from Idea to IPO<br />Software and IT Project Management forum
Barry Gaunt
Ranch Hand

Joined: Aug 03, 2002
Posts: 7729
I think the BlueJ text book is one of the best beginner books you will find.


Ask a Meaningful Question and HowToAskQuestionsOnJavaRanch
Getting someone to think and try something out is much more useful than just telling them the answer.
Gerald Davis
Ranch Hand

Joined: May 15, 2002
Posts: 872
I think that the best thing you can do is to learn a highlevel lannguage like Python. Java is too lowlevel and verbose, the code jest gets in the way of the concept.
Scott Ambler
author
Ranch Hand

Joined: Dec 12, 2003
Posts: 608
Smalltalk is a very good option for learning OOP too.

- Scott


<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
The intermediate Java In General forum just hosted a conversation with the author of Beginning Java Objects. It sounded like a pretty cool starting place.


A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Olexiy Prokhorenko
Ranch Hand

Joined: Jul 11, 2004
Posts: 97
Originally posted by Scott Ambler:
Smalltalk is a very good option for learning OOP too.
- Scott


I know, but he is not looking for language to learn. He wants to work with Java, but he is trying to understand OOP as well.
Olexiy Prokhorenko
Ranch Hand

Joined: Jul 11, 2004
Posts: 97
Originally posted by Gerald Davis:
I think that the best thing you can do is to learn a highlevel lannguage like Python. Java is too lowlevel and verbose, the code jest gets in the way of the concept.


Sorry! It's not an option to learn other language. As I mentioned below, in my first message - my friend wants exactly Java. Not C++, not any other. Just Java. But also he needs to understand OOP.

And speaking about Python -- I WOULD NOT SUGGEST Python to him. Hey, he is my friend, why do I need to do so much harm to him?! Speaking of such languages, I would prefer Ruby myself and would suggest it, in case if THIS would be needed. But again. Please refer to my first message and you'll see. He is not choosing language.

Thanks
Barry Gaunt
Ranch Hand

Joined: Aug 03, 2002
Posts: 7729
Jeff Langr's new Agile Java looks intersting from a beginner's perspective.
Balachandran Paranjothimani
Ranch Hand

Joined: Jun 18, 2005
Posts: 43
It is better learn the OOAD and programming in Java separately. Here is the Object Oriented Analysis and Design with UML Certification study guide that explains the concepts in a very simple language.

For learning Java, the Sun's online tutorials is a good starting point.


Moderator : <a href="http://groups.yahoo.com/group/OOAD_UML/" target="_blank" rel="nofollow">http://groups.yahoo.com/group/OOAD_UML/</a><br />Home : <a href="http://www.zepho.com" target="_blank" rel="nofollow">http://www.zepho.com</a>
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Balachandran Paranjothimani:
It is better learn the OOAD and programming in Java separately.


I disagree. To me OOD/P is about managing the structure of the code. Trying to learn the D without the P can therefore not work.

OOA, on the other hand, doesn't have anything to do with OOD/P, so you could simply ignore it, or learn it separately (if you find out what it actually is).


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
Dave Wood
bronco
Ranch Hand

Joined: Aug 02, 2004
Posts: 161
If your friend can wait a few more months ( ), I'd humbly recommend "Head First OO" (final title still TBD) as a companion to HF Java and HF DP. It's not a Java book (if it were, it would be called "Head First Java," and K&B already wrote that one!), but most of the examples are written in Java.

Unfortunately, it's not likely to be in print until the very end of the year.

-Dave

PS: Until then, I'd have him start with Head First Java. It definitely covers some of the key OO concepts.


Co-Author of <a href="http://www.oreilly.com/catalog/jswing2" target="_blank" rel="nofollow">Java Swing</a><br />Co-Creator of <a href="http://www.sun.com/training/catalog/courses/CX-310-055.xml" target="_blank" rel="nofollow">SCJP 5.0</a> and <a href="http://www.sun.com/training/certification/java/associate_beta.xml" target="_blank" rel="nofollow">SCJA</a> exams
 
GeeCON Prague 2014
 
subject: Book on OOP concepts