Why Isn't Functional Programming the Norm? – Richard Feldman

Metosin · 1.6M views · 2019 · 46:09

Open on YouTube

Functional programmingProgramming language designtalk

Why Hacker News recommends it

HN treats it as the standard answer to why FP isn't mainstream and why languages succeed.

What it is

Richard Feldman argues that functional programming is not the norm largely because of historical accidents, such as C++ popularity, platform exclusivity, marketing spend and network effects, rather than merit. He traces the history of how languages become mainstream.

Recommended by 12 HN commenters across 12 different months, 2019 to 2025.

What Hacker News said

Strong rec seer · 2020-12 · on “Functional programming in C++ (2012)”

This is indeed a very interesting question! I’ve also asked myself that time and time again, along the path of slowly discovering what this FP thing is all about over the course of my career. It does look wonderful, it does save you a lot of effort in some cases, where “some” is a vast swathes of computational problems. And its so damn elegant. A lot of examples are thrown around were a bunch of lambda calculus can result in 10-20 fold reduction in source code size. So where’s the catch?There has to be something wrong right? Well recently I stumbled upon a clojure conf talk that tried to tackle precisely this question. [this video] The short of it is that its more of a historical inertia and chan

Strong rec yewenjie · 2021-09 · on “Functional programming is not popular because it is weird (2016)”

This talk by Richard Feldman is an excellent discussion about why Functional Programming is not the norm - [this video]

Recommends quickthrower2 · 2019-10 · on “Ask HN: Why are private/hidden methods so popular in OOP APIs?”

I know the answer, thanks to watching a recent video by Richard Feldman on why functional programming isn’t popular yet. I recommend watching it for some interesting talk about programming languages in general, it’s on YouTube at [this video] Anyway what privates give you is what everyone wants from a programming language: modularity. We want to be able to expose an api to some code and for it to have some inner workings that we don’t see because: 1. If we know they can’t be touched we have some implicit guarantees about our program. E.g. the mouse pointer cannot go off screen even if we try to make a call to do that. 2. It is simpler for a programmer to understand the api which might be 1% of th

Recommends fulafel · 2019-11 · on “Ask HN: Why is functional programming not more popular?”

In the market of ideas, there usually isn't any reason that makes the good ideas unpopular. That's the default outcome. Some good ideas eventually make it to mainstream / conventional wisdom because there's some second factor that brings them to the spotlight. For languages it might be a killer app, big corporate investment, etc. In [this video] Richard Feldman puts up a (well founded IMO) argument that OO became accidentally popular because of C++. C++ didn't do OO well, nor was OO the main benefit of C++, it just happened to be something that came with C++.

Recommends huy-nguyen · 2019-12 · on “Ask HN: Best Talks of 2019?”

“Why isn’t functional programming the norm?” by Richard Feldman. Spoiler: not on the basis of merits. [this video] “React to the future” by Jordan Walke. Why ReasonML is a logical extension of ReactJS’ programming paradigm. [LINK] “Typing the untyped: soundness in gradual type systems” by Ben Weissmann. The trade offs that various gradual type systems make based on their language constraints. [LINK] “Let’s program like it’s 1999” by Lee Byron. How the mutual feedback loop of abstraction, syntax and mental model drives the evolution of web technologies. [LINK]

Recommends agentultra · 2020-01 · on “Haskell Problems for a New Decade”

> If in the next fifty years more than, say, 3% of programmers will be programming in a language like Lean, I will eat my hat. You're not even putting any stakes on the table. That's such a safe bet. It's unlikely you'd even have a chance at losing the odds are so stacked. There's a great talk on why functional programming is not the norm: [this video] The short of it is: network effects . Haskell, OCaml, SML... they've never had the benefit of being the exclusive language to a popular platform like the web, macOS, or UNIX. They've not yet had a killer app like Rails or Numpy/SciPy/PyTorch. They've certainly not been foisted on the market with a war chest of marketing dollars like Java and C#. An

Recommends agentultra · 2020-09 · on “Why is OOP still so widely spread?”

Richard Feldman gave an interesting talk on this in 2019 [0]. He was trying to answer why functional programming isn't mainstream but the opposite is what we're posing here and I think it's for many of the same reasons. Network effects : a lot of these languages were mainstream earlier on and got buy in from a lot of folks who are invested in their continued adoption and success. Platform exclusivity : some companies push their own language ecosystems on their platforms and those languages are often OOP/multi-paradigm languages. Specifically to OOP we have to ask why is the particular style of C++/Java OOP the norm? Why didn't Eiffel, Smalltalk, or Self reach the same market? [0] [this video] edi

Recommends blunte · 2020-12 · on “Casey Muratori on getting rid of OOP mindset [video]”

Keep in mind that what may seem like "personality fit" may be more related to "learned imperative programming first". As an analogy, depending on which spoken language a person learned first (as a child, _automatically), learning some new languages may be particularly difficult or quite natural. If we had all learned functional programming concepts first, our minds would be trained to think that way. We all learned functional (declarative) math, and we don't even think about it as such. It's just math. This video gives some plausible explanations as to why imperative programming is more common than functional: [this video]