This is an interesting question, and while I reject the argument that FP is "better" than OOP I think it's worth discussing complex forces at play here. First of all, what do we mean by OOP and FP? They're not clear-cut definitions, especially when you talk about ecosystems!
I've spent an embarrassingly long time understanding the benefits of FP rather than making some progress on actually how to do it. And I am sold. Now I have one question - why did developers, as a group, decide to go with OOP when FP was already around?
10
27
3
76
Most people these days talk about a specific branch of FP: immutable, inferred static types. But this is a latecomer in FP! It stems from ML in 1976, which started off as a proof-assistant language. Arguably the first popularizer was Miranda in 1985. Before that, FP = Lisp & APL.
3
1
23
OOP comes from SIMULA-67, almost decade before ML, and was immediately popular from the start. While CLU (1975) and Smalltalk-80 had a major influence on OOP, they were influencing a mostly-coherent paradigm, meaning OOP had a head start on modern FP.
3
6
So OOP comes out earlier than ML, in the time when FP still meant LISP and APL. But OOP wasn't actually competing with them.
They were all competing with COBOL.
2
2
15
It's hard to understand now just how big a deal COBOL was. For a long time, it was the dominant language in the world. The only thing that toppled it was C, and only because of the Unix era. APL, Lisp, OOP languages were all in competition with COBOL (and FORTRAN, and algols)
4
4
19
With my only authority being that I was already in the industry back then, I’d claim OOP’s popularity was largely due to the fact it was exceptionally well suited to do GUI development. It was part of the C/S revolution and thus part of the alternative to COBOL and the mainframe
Aug 20, 2020 · 7:01 PM UTC
4
2
15




