big OOP

ruby is the most pleasant language i’ve worked in by far. the microculture i was a part of when i was writing a lot of ruby would make a distinction between more procedural ruby, with lots of long methods and mutations of object state, generally a lot of bad decisions in terms of factoring that impaired the code’s readability and maintainability. this was contrasted with a more functional-ish style where most of an object’s methods were pure functions and state tracking was kept to the absolute minimum, it made everything much easier to reason about. so there was this dichotomy between “object-oriented” code meaning “as imperative as the writer could get away with, but more confusing because control flow jumps between hopelessly enmeshed objects” and “functional” code meaning “as close to pure functional programming as the writer could get away with, with an absolute minimum of state tracking” - it’s an unfair characterization for sure, since ruby being an object oriented language actually gives you the flexibility to do things either way. it’s perhaps equally unfair to consider sharecropping the quintessence of liberalism, these attitudes come from a place of frustration

1 Like