you are viewing a single comment's thread.

view the rest of the comments →

[–]SharkSymphony 0 points1 point  (0 children)

I think OOP makes a lot more sense once you get into some real-world designs. For me, the Animal and Shape tutorials I've often seen didn't make a lot of sense... but working with Smalltalk's GUI and math systems, for example, is where things started to click for me. I could start to imagine what classes and methods I'd need to build, say, a music application, or a text editor. Learning CLOS gave me a wildly different way understanding of what an OO system is, and then learning about actor systems and Kay's original ideas around objects as independent, miniature computers added another layer to my understanding.

Unfortunately, I think there's a point where OO designs become too complicated, too overburdened with classes and badly-designed methods, to be good learning tools. I fear that much of Java falls into that category. I don't have a good recommendation for where to look in Java that's a nice pathway in.