3 ms·
After reading your OOP and the Death of Modularity [http://sob.apotheon.org/?p=935 http://sob.apotheon.org/?p=935], I see your point more clearly. (I'm not ver
by sdp 18y ago
After reading your OOP and the Death of Modularity [http://sob.apotheon.org/?p=935 http://sob.apotheon.org/?p=935], I see your point more clearly. (I'm not very perspicacious ;-)
Your point is that OOP "creates a means of loosely coupling code in a given complex system," which is considerably more scalable than tightly coupled code, which in turn leads to ever larger programs.
My comparison of Java and Smalltalk was meant to show that there exists versions of OOP which completely decouple code. In a Smalltalk VM (or at least in Squeak), each object you create is immediately available to you as though it were a command line utility.
This is very much in the spirit of the unix philosophy which you cite in both entries:
"...certain older development philosophies (like "the Unix philosophy") that provided significantly better modularity and significantly reduced complexity." [http://sob.apotheon.org/?p=935 http://sob.apotheon.org/?p=935]
"Unix is the tradition of decoupled code, whence the very notion of a user environment composed entirely of programs that "do one thing well" comes to mind." [http://sob.apotheon.org/?p=245 http://sob.apotheon.org/?p=245]
- apotheon 18y agoThanks for coming back after reading Death of Modularity to examine the matter further. I've certainly heard such good things about (properly used) Smalltalk, but while many people compare Ruby to Smalltalk (and Ruby is the language I've used most, lately) I haven't really experienced these Smalltalk systems themselves, so I tend to refrain from saying too much bout Smalltalk (lest I make an ass of myself).