3 ms·
I'm a mediocre programmer at best and I still struggle with Object-Oriented Programming (OOP). I understand the ideas, but I simply find it to be an 'unnatural'
by vanilla-almond 6y ago
I'm a mediocre programmer at best and I still struggle with Object-Oriented Programming (OOP). I understand the ideas, but I simply find it to be an 'unnatural' way of programming. Millions of other programmers are successfully coding with OOP, but I'm not one of them.
I've tried many OOP languages and Ruby and Crystal felt that they had the friendliest approach. Why do I struggle? I think some of it is to do with the thick layers and unnatural wordiness of the way it is implemented in many languages: constructors, instantiating, getters, setters, public, private, unattractive syntax etc.
As I said earlier, I am not a great programmer (but try to improve :-) and my opinions on OOP reflect that.
As an aside, the stranglehold that OOP has had over the profession seems to have loosened. New languages like Julia, Go, Rust and Nim do not describe themselves as object-oriented although they have object-like features. Back in 2019 I asked Hacker News: "Why do new(ish) programming languages eschew OOP features?"
https://news.ycombinator.com/item?id=20320752 https://news.ycombinator.com/item?id=20320752
- eigenspace 6y agoMy feeling is that 'Object Oriented' has basically become a dirty word among forward looking programmers. I don't really think this is because of a problem with the idea of object oriented programming, so much as a GIGANTIC problem with the most prominent languages which describe themselves as object oriented. IMO, object orientation does not need to involve things like single-dispatch classes, concrete inheritance, and other bad ideas promulgated by the prominent OO languages which newer languages are trying to distance themselves from.