2 ms·
object orientation taken to its logical conclusion Oh, how I wish. OO was never taken to its logical conclusion in the mainstream at all. Java's Nygaard-style
by vezzy-fnord 12y ago
object orientation taken to its logical conclusion
Oh, how I wish. OO was never taken to its logical conclusion in the mainstream at all. Java's Nygaard-style OO was just a sugar coating on top of a generic procedural paradigm and a far cry from Smalltalk's example that was set over 20 years prior. Ironically, much of the JVM's early optimizations were born out of research into the Self VM - a prototype-based OO Smalltalk environment.
Yet thanks to C++ and Java's object models following the Simula legacy becoming so firmly entrenched into the mainstream as the OO, today the entire paradigm has become disgraced and is outright reviled in some circles (how many times have I seen FP enthusiasts jump every time it's mentioned...)
The Smalltalk and Self communities are minuscule. A more recent addition was the Io language, but that too is very small. OO died before it could really shine, though the Smalltalkers' legacy did somewhat live on as they went on to establish many of the software development methodologies and maxims that are taken for granted today.
- seanmcdirmid 12y agoOO's death has been exaggerated. Take a language like Scala, which has really powerful OOP constructs in the form of mixin-style traits (at least on the static side of object innovation). Not to mention many of the strongtalk people are now working Dart. Objects will rise again (if you think they've fallen, that is).
- vezzy-fnord 12y agoI agree somewhat. You can also find object models in plenty of other places where many don't realize it (e.g. in many practical implementations of actor model concurrency). Those are all relatively small and indirect victories though. Who knows - maybe pure message passing languages might become the next fad soon enough.
- seanmcdirmid 12y agoThe Clojure and Go people always like to talk about their non-object systems, which are of course very object-like. The only real functional purists is the haskell community. I'm personally working a new language/programming environment right now based on traits/mixins; there is still a lot of fun to be had there.