Live data from Hacker News

Case against OOP is understated, not overstated (2020)

boxbase.org

1–10 of 557 posts

Re: Case against OOP is understated, not overstated (2020)

#2
How I've seen OOP work at big tech is the following:

1. New code base is needed

2. Some developer comes up with the master oop abstraction to solve the problem

3. Years of dev effort spent with the abstraction at the core

4. Dev on step 2 is now the expert in some overly convoluted complex system

5. Is determined a genius since new comers cant easily grasp the complexity, gets promoted to a high ranking dev job

My number one rule of coding politics:

He who creates the OOP abstraction rules the team

Re: Case against OOP is understated, not overstated (2020)

#4
Interesting collection of point of views.

A language like Erlang indeed seems to align more closely with the spirit of the OOP goals - especially regarding encapsulation and avoiding shared state.

I would argue one of the best implementations of OOP is found in OCaml, where a nominal type system lives side-by-side with a structural type system, the latter which is used for objects and classes [1]. You still can use shared/mutable state, but functional styles are usually preferred - including a pattern known as "functional objects" [2], which allows the use of OOP but avoids shared mutability and its associated shortcomings.

[1] https://en.wikipedia.org/wiki/Structural_type_system#Example

[2] https://ocaml.org/manual/objectexamples.html#s%3Afunctional-...

Re: Case against OOP is understated, not overstated (2020)

#5

How I've seen OOP work at big tech is the following: 1. New code base is needed 2. Some developer comes up with the master oop abstraction to solve the problem 3. Years of dev effort spent with the abstraction at the core 4. Dev on step 2 is now the expert in some overly convoluted complex system 5. Is determined a genius since new comers cant easily grasp the complexity, gets promoted to a high ranking dev job My nu…

My grading criteria for a codebase is "Can a hungover junior engineer comprehend this and work on it successfully?"

When we are getting to "only a Principle engineer who is an expert in scala with a history of strong mathematics can work on this" is about when a codebase gets a fail.

Re: Case against OOP is understated, not overstated (2020)

#10

How I've seen OOP work at big tech is the following: 1. New code base is needed 2. Some developer comes up with the master oop abstraction to solve the problem 3. Years of dev effort spent with the abstraction at the core 4. Dev on step 2 is now the expert in some overly convoluted complex system 5. Is determined a genius since new comers cant easily grasp the complexity, gets promoted to a high ranking dev job My nu…

My grading criteria for a codebase is "Can a hungover junior engineer comprehend this and work on it successfully?" When we are getting to "only a Principle engineer who is an expert in scala with a history of strong mathematics can work on this" is about when a codebase gets a fail.

Thats a broad generalization and many niche codebases cannot be high quality and still have a drunk junior become productive with it in a week. People need to accept that it's ok to require for some teams to have discussions on a level which requires serious experience and education
Post reply on HN