I am a novice programmer, currently self-learning, would really like to understand Object Oriented Programming well. Can anyone suggest some books that are good at explaning OOP for beginners?
Thanks for the help in advance.
1–10 of 26 posts
I am a novice programmer, currently self-learning, would really like to understand Object Oriented Programming well. Can anyone suggest some books that are good at explaning OOP for beginners?
Thanks for the help in advance.
http://www.amazon.com/dp/0596007124
Do not jump in with the GoF Design Pattern book. :)
Don't take this as advice against learning what you want to learn, but I'd caution against the idea that "object-oriented programming" and "good programming" are the same thing (or even that they are correlated). OO in its various incarnations comes with a tremendous amount of baggage. It took me years to figure out I didn't need it, and that insight made me a much better programmer.
* The Art of the Metaobject Protocol by Gregor Kiczales
Don't let the second one fool you. Although it is a Lisp book, it presents OOP design principles applicable to any language. As the Amazon review says: "The Art of the Meta-Object Protocol is useful for the advanced CLOS user as well as for anyone interested in object-oriented programming and language design."
Lots of OO classes use it and Smalltalk is a great language to learn OO with (but even if you don't use it, the general information will be a big help).
* Smalltalk Objects And Design by Chamond Liu * The Art of the Metaobject Protocol by Gregor Kiczales Don't let the second one fool you. Although it is a Lisp book, it presents OOP design principles applicable to any language. As the Amazon review says: "The Art of the Meta-Object Protocol is useful for the advanced CLOS user as well as for anyone interested in object-oriented programming and language design."
Since you say you are a novice, I'd recommend Head First Design Patterns: http://www.amazon.com/dp/0596007124 Do not jump in with the GoF Design Pattern book. :)
Unfortunately, the C++/Java conception of OOP has had a much better sales team since the 90's or so, so you can get sucked into that universe and never find your way out again. So learn OOP from multiple perspectives.
http://video.google.com/videoplay?docid=-2058469682761344178...
It is an older video of Dan Ingalls of Smalltalk fame explaining objects. I clearly remember a large light bulb going off in my head as he walked through his analogy of a hospital described as an object.
This certainly isn't comprehensive, but if you are stuck on the concept its helpful to hear someone talk it out.