tag:blogger.com,1999:blog-4351297767743049123.post2144136906971472624..comments2022-08-04T05:56:14.887-04:00Comments on Alan Knight's blog: Principles of OO Design, or Everything I Know About Programming, I Learned from DilbertAlan Knighthttp://www.blogger.com/profile/18208736951543256794noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-4351297767743049123.post-89498005535621929182011-12-03T08:36:32.581-05:002011-12-03T08:36:32.581-05:00This is an excellent article. I really like the in...This is an excellent article. I really like the initial illustrations and the rules, as stated, are bang-on. <br /><br />I have been around every conceivable block in my programming journey, in terms of exploring computing paradigms. <br /><br />Now I'm getting into Smalltalk 'for real' and finding that the OO-ness of it is not even the main thing I find compelling: it's the live-ness of it. It's just easier to think about the abstractions 'in the present' as it were.<br /><br />I think Smalltalk takes the idea of live objects to such a level of sophistication that most people can't quite grok the Platonic Forms of domain modelling that swirl around the mind of an accomplished Smalltalk developer. <br /><br />The language and its implementation lack only one or two things from my POV, namely, pattern matching (in the functional programming sense, which I find so useful it hurts to be without it) and some form of advanced parallelism and concurrency support -- ideally support that is not too conscious unless a developer wants it to be. I actually love the 'share nothing' philosophy of functional programming and its attendant 'referential integrity' concepts.<br /><br />But folks who have come to think OO is more buzzword than reality could not possibly have tried Smalltalk, not 'for real,' let alone tried to get good at it. It's not just a language or even a platform but a way of thinking about reduction of a problem to its essence, as this article makes clear.bobcalcohttps://www.blogger.com/profile/04230520603539406899noreply@blogger.com