the tragedy of languages making an accent on functional programming is that CS education simply does not make a big enough focus on learning that paradigm, which takes a lot of effort to learn, and then there are simply not enough people to hire for reasonable money to seriously maintain these codebases
this self filters only the most committed and possibly eccentric programmers to keep using them, which again reinforces the loop. this is a shame because OOP, which has few of the theoretical and practical benefits of FP, is regularly taught
I thought most US universities taught some kind of Lisp? Over here in Europe many schools teach OCaml or Scala.
I don't really buy into the lack of talent/skill argument. Especially given that F# isn't exactly the most hardcore FP language and toolchain out there. I hire and onboard people from many kinds of background to a non-trivial Scala codebase. Even new grads coming from mostly Python notebooks do all right.
This is also supported by all modern OO languages going somewhat hybrid, as they adopt an increasing number of functional features.
If you're looking for an explanation as to why FP isn't more popular, I think it's mostly the fact that modern high-level languages have become good enough. And Go has proven that even an objectively bad language can succeed if the developer experience and productivity improve in other dimensions.
Yeah there was no mention of functional programming during my formal CS degree. I actually had started trying to learn more academic programming by taking a Coursera MOOC that I only realized was entirely based on functional programming after being a self-taught ad-hoc user developer. It was fascinating and intellectually stimulating but also challenging beyond my free time while at the time lacking more of the CS fundamentals. It looks like it was wisely broken up into multiple 3 week sections but I suspect this is what the course evolved into - https://www.coursera.org/learn/programming-languages
Of course when I took in person university courses we learned Java as the fundamental programming language.
I think almost everything useful and practical has made it into oo and modern languages already though or became best practice for writing in other languages.
I don't even really write very stateful or object oriented python anymore, and idk if anyone would really recommend that? That's been my experience though.
this self filters only the most committed and possibly eccentric programmers to keep using them, which again reinforces the loop. this is a shame because OOP, which has few of the theoretical and practical benefits of FP, is regularly taught