Comment by BrissyCoder
7 years ago
People at the places I work keep memeing links to blog posts along the lines of "OOP is dead. Functional programming is the new king".
Yet to see a single line of a functional language in production.
As other commenters have mentioned most decent modern lanuages are multi-paradigm.
There is lots of functional language code in production.
As a recent example GitHub uses this Haskell application for code analysis: https://github.com/github/semantic
Also, Erlang powers a huge amount of the US’ cellular infrastructure, as well as RabbitMQ, which is used in a ton of production workloads.
There’s actually a pretty decent list on Wikipedia: https://en.m.wikipedia.org/wiki/Functional_programming
might be interesting for you, Lips in production:
https://tech.grammarly.com/blog/running-lisp-in-production
I used to work in a company that had part of the process written in Lisp and it was in true production. Once the (fp) guy left the company everyone else had to support that code. What a nightmare that was. No one wanted to touch it with a ten foot pole. Should we had another FP guru in our midst, that may have turned out differently. But everyone was in agreement that that part needs to be rewritten in a language that everyone else is using. In real life - if most stuff in your company is FP and there is plenty of expertise to go around - do FP. If not - do not. :-)
Arguably, if you knew that A: there was code in Lisp and B: only one person knew how to support it, they should have either rewritten it while the one who understood it was still there, or had more people learn Lisp, or hired more people who knew Lisp. It shouldn't have been allowed to reach the point where someone quit without anyone else having a clue.
Notice that they are using Common Lisp, which is a multi-paradigm language, rather than a more functional lisp like Clojure.
They also use Clojure at Grammarly AFAIK.
Common Lisp is a great language for OOP programming though. Almost any serious CL code heavily uses CLOS.
I guess you haven't really looked too hard then https://clojure.org/community/companies
Jane Street is OCaml basically from top to bottom. They seem pretty fast.
The backend for HN is written in a Lisp dialect...
In case you missed this: https://twitter.com/guieevc/status/1002494428748140544
Functional programming at Atlassian: https://youtu.be/HSQ9ET0bOYg
Jet.com
https://medium.com/jettech
We have tons of Functional code and it's growing every day. What is hard is hiring developers who have a decent background in it because there are so many maintenance and legacy systems out there and so many lazy developers who aren't staying current.
I will tell you, I typically don't hire a Java developer who hasn't done any streams programming at the very least. And that's not even really FP, but if someone can't understand immutability, lambdas, predicates, functions as first class objects, and how to solve coding problems in this fashion, then they're of little use because we're working with frameworks now that assume you know all this.
People get very upset when you tell them that the OOP patterns they learned are less useful these days.