6 ms·
Unpopular answer to the unpopular answer: OOP was pure fashion .. “Our customers wanted OO prolog so we made OO prolog” .. http://harmful.cat-v.org/software/O
by chkas 7y ago
Unpopular answer to the unpopular answer: OOP was pure fashion
.. “Our customers wanted OO prolog so we made OO prolog” .. http://harmful.cat-v.org/software/OO_programming/why_oo_sucks http://harmful.cat-v.org/software/OO_programming/why_oo_suck...
.. screw things up with any idiotic "object model" crap. .. http://harmful.cat-v.org/software/c++/linus http://harmful.cat-v.org/software/c++/linus
- ajross 7y agoI don't see that follows. The flood of OO languages in the early 90's went hand in hand with a very broad reorientation of the way design was done. That that had bad side effects isn't really a rejection of the fact that OO design really was a fundamentally different way of thinking about problems, and languages that supported it syntactically were doing so to enable this paradigm shift. That's not really "fashion" in the sense that I meant. On the flip side, the modern language zeitgeist isn't really trying to change things in fundamental ways, except to say "don't do bad OO". But you don't need to reject OO syntax and features (c.f. polymorphism above) to reject bad OO. That part is fashion.
- mijoharas 7y ago> On the flip side, the modern language zeitgeist isn't really trying to change things in fundamental ways I disagree, I'd say all of the quoted languages are attempting to fundamentally change things to get around the expression problem[0][1] [0] https://news.ycombinator.com/item?id=11683379 https://news.ycombinator.com/item?id=11683379 [1] https://en.m.wikipedia.org/wiki/Expression_problem https://en.m.wikipedia.org/wiki/Expression_problem
- chvid 7y agoFashion is surely a part of it. But to me the rise of OOP in the 90es where driven by the need of programming user interfaces and the rise of Windows and similar. A graphical user interface is naturally represented as a hierarchy of objects each with their own internal state. Often the language was designed to work in an integrated development environment with a user interface builder (with language features such as object serialization and reflection). This is very obvious in Borland Delphi (OO Pascal), Objective-C, VB, Smalltalk, C#. Then things shifted and people started doing web development where all of sudden you had hundreds of concurrent users on a single server; and then people began (re)inventing languages that handled concurrency well. Having said that. I don't think the dominating trend today is functional programming but rather "multiparadigm" (as it should be).
- imtringued 7y agoIsn't that obvious? If fashion is a reason for something to come into existence then fashion can also be a reason for it to fade away.
- scottlocklin 7y agoI always figured that the main thing people really wanted out of "OO" was simply namespaces. People forget about dealing with older programming systems with global namespace (C, Matlab, Fortran, etc). Namespaces were a big step forward, and in the early days, most of the languages with them were OO, so it would be easy to mistake the benefits of namespaces for OO magic. OO crapola also mapped reasonably well onto GUI design. That's a whole class of programming that doesn't really exist any more. Where it does (I dunno what people use besides Qt), it looks kind of objecty.
- igouy 7y ago> simply namespaces 1980 module, Modula-2 1979? package, Ada http://www.drdobbs.com/open-source/history-and-goals-of-modula-2/223000094?pgno=2 http://www.drdobbs.com/open-source/history-and-goals-of-modu...
- growlist 7y agoWhat surprises me is that (at least judging by job adverts) so many people still think to seem OOP is the best thing since sliced bread, as opposed to a just another tool to be approached pragmatically.