5 ms·
Conjecture: programming is hard, especially as the scope of the system becomes larger and the problem domain more complex. This means that all programming tools
by dboreham 5y ago
Conjecture: programming is hard, especially as the scope of the system becomes larger and the problem domain more complex. This means that all programming tools and techniques have at least some problems and downsides. It also means that any solution involves trading off various factors, e.g. code is fast or easy to read but perhaps not both. All this means that you can pretty much point to anything in our field and laugh heartily at how piss poor it is. You can do this with FP too. But FP isn't used so much for real world solutions <ducks> and therefore statistically you will find many more things to laugh about in OOP which is very commonly employed against real world problems.
- deltaonefour 5y ago>But FP isn't used so much for real world solutions It's taken over the front end. The react paradigm is FP. SQL read queries are FP.
- z5h 5y agoAnd, in fact, much of the front end ecosystem is constantly getting ideas from Elm which is pure FP… and a pleasure to use (I think).
- arrow7000 5y agoI work with Elm and yes I can confirm this
- Const-me 5y ago> The react paradigm is FP. https://reactjs.org/ https://reactjs.org/ homepage writes "Build encapsulated components that manage their own state" That's a textbook definition of OOP.
- deltaonefour 5y agoI use the term colloquially. The typical react pattern people use does not put state in the component. It uses a reactive pattern called redux and the state comes from somewhere else.
- bcrosby95 5y ago> Conjecture: programming is hard, especially as the scope of the system becomes larger and the problem domain more complex. This means that all programming tools and techniques have at least some problems and downsides. Yes. > You can do this with FP too. But FP isn't used so much... So close.... The problem is single paradigm tools. No single paradigm fits all of a problem. And in my experience, OOP is particularly bad at it. Not Prolog levels of bad, but also not much better. We have a huge number of very popular single paradigm OOP languages, because in the '90s the programming gods set forth the decree that OOP is the One True Way to design a system.
- joe_the_user 5y agoNo single paradigm fits all of a problem. And in my experience, OOP is particularly bad at it. The only reason OOP wins is because it doesn't enforce a single paradigm. You write 100% or 99% procedural code, you can write a functional program and encapsulate it. You can write a shell script and pop a GUI on top (it's marvelous in a horrible sort of way). OOP's lack of constraints is what lets it be used all sorts of places.
- simplify 5y ago> Not Prolog levels of bad Prolog is homoiconic like lisp, and support metaprogramming, so in theory there's nothing stopping Prolog from being great at most or all of a problem.
- djur 5y agoWhat are these very popular single paradigm OOP languages? The closest thing I can think of is Java.
- Jtsummers 5y agoJava isn't even single paradigm.
- leecommamichael 5y agoThis mirrors my thinking. Writing modern applications is hard, so we argue about _how_ instead.