Hacker News new | ask | show | jobs
by juhanima 1042 days ago
To only give up that position to functional programming?
2 comments

OOP was a mistake. Functional programming has some interesting ideas, but it's not useful in practical applications. Procedural programming is the simplest and fastest way to make the computer do things.
OOP is orthogonal to FP vs procedural. You can use or not use OOP in both.

Also, OOP is fine. Class oriented programming (often called OOP by accident) is the real flawed paradigm.

OOP is how large-scale procedural programs are organized. It allows programmers to try to reason about medium-scale parts of the system. (Mesoscale programming? Is that a thing yet?)

FP is a set of guarantees (maybe even enforced by the compiler) about program behavior which enable optimizations, for the compiler, and reasoning about small parts of the system in isolation, for the programmers.

Enough FP can allow you to abstract away the procedural parts, but even a little FP in a procedural codebase can be a good thing. Ditto a little OO, which is why C programmers reinvent bits and pieces of Smalltalk every so often.

> but it's not useful in practical applications

I mean, it drives all of Whatsapp, Discord, and once upon a time, Facebook Messenger, but it's certainly not "useful"!!

Your claim is as ludicrous as ludicrous can be. About the only thing it's not (yet) good for is 3D game dev, but Rust (which is not purely functional but which has lots of opt-in functional concepts) is making good headway

OOP itself is not a misstake, but the way it is (usually) implemented probably is.
One can only hope.

Considering that literally everything is easier in it (EXCEPT for SOME of its conceptual bases), I'm surprised it's taking this long. Modularity is easier, testing is easier, there are no mutation bugs, no mutex locks, you understand program flow better (which means less bugs), you just produce fewer bugs per LOC... just scratching the surface here