Re: Ask HN: What are some good books for understanding OOP?
by phamilton on Friday December 03, 2010 @01:53AM
(#1965041)
In situations like those, I feel like OOP is some of the most buzzword laden areas of CS.
Things like "Cohesion", "Layering", "Polymorphism", "Abstraction", etc.
They are all great concepts with a lot of important principles, but I drives me nuts how often I've heard them used excessively.
Re: Ask HN: What are some good books for understanding OOP?
by prodigal_erik on Friday December 03, 2010 @04:13AM
(#1965258)
I would put http://en.wikipedia.org/wiki/Liskov_substitution_principle at the top of the list of things to understand. Language features like polymorphism and encapsulation aren't exclusively OO but they're provided because they help your designs follow LSP.
Re: Ask HN: What are some good books for understanding OOP?
by wlievens on Friday December 03, 2010 @03:14AM
(#1965166)
> So learn OOP from multiple perspectives.
This is key. Even if you end up never using the less traditional OOP models, learning them will let you write better software in the conventional languages. I can say with certainty that my basis in Smalltalk and (albeit limited) knowledge of Lisp makes me a far better Java programmer.
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.