3 ms·
This. The obsession for object oriented in the '00s has made immense, irreparable damage to an entire generation of developers. I have to fight every day to kee
by qalmakka 2y ago
This. The obsession for object oriented in the '00s has made immense, irreparable damage to an entire generation of developers. I have to fight every day to keep our codebase sane against new entries that are still following that cargo cult that "everything must have an interface".
I literally had an argument a few days ago with a junior that was dead set on saying that writing single-purpose functions in a C++ namespace was bad. In his own opinion "that should be a class or at least a static member function"...
It's basically as if most developers have a natural tendency to writing all code as if it was Java - because they have learnt so many "patterns" that only make sense in a Java world. The irony is that often they do not realise that Java is not, in fact, a "proper" object-oriented programming language (like Smalltalk for instance), but rather a formalisation of all those quirky hacks C++ implemented [1].
[1]: I recommend "Design and Evolution of C++" by Stroustrup - it's a great insight on how lots of things we now give for granted in "modern OOP" were actually hacks he had to introduce in order to merge Simula's model with C.
- medo-bear 2y agoI have never programmed in Smalltalk, however apparently Common Lisp Object System (CLOS) is similar. Object oriented programming in Java always seemed like a tone of unnecessary boilerplate just for the sake of making classes and interfaces (phone apps are a big example of this where even the simplest apps are waaay more complicated than they need to be), until I started using CLOS. Common Lisp also has macros and even a pure functional environment a-la ML, however all these paradigms are used quite sparingly in the community
- igouy 2y agoHere's Alan Kay lavishing praise minute 54 https://www.youtube.com/watch?v=oKg1hTOQXoY&t=634s https://www.youtube.com/watch?v=oKg1hTOQXoY&t=634s on "The Art of the Metaobject Protocol" https://www.adamtornhill.com/reviews/amop.htm https://www.adamtornhill.com/reviews/amop.htm