|
This is a very lucid piece on PL adoption in general. When I think about programming languages, I do think rather emotionally (which is fine, emotions are early warning systems). I liked the linked author's points about the pre-requisites for marketing a solution: It is memorable
It includes a key benefit
It differentiates
It imparts positivity
When I think about the most popular languages, they do have all of these:
Rust:Memorable: very. It's basically everywhere you look
Has a key benefit: going C++ fast without the C++ footguns, memory-safe, WASM integration
Differentiates: Using Rust is definitely choosing a particular set of technical tradeoffs
Imparts positivity: the community is known to be welcoming, feels cool, cute crab. People re-write existing software in Rust just because it feels good! Yet Haskell has almost none of these: Memorable: I mean, yeah, but it's not being shown to people, and I can't point to a bunch of software. Tools I know of include PostgREST, Hasura, Nix, hledger, which is better than nothing.
Key benefit: Hand waving about "being more correct", unlike Rust which has reams of "Microsoft claims 60% of its bugs are memory-errors" articles, and in any case TFA's point is that this needs to be a different message because correctness isn't gonna sell it.
Differentiates: This is definitely true, almost too much
Imparts positivity: Not really feeling this one with Haskell. People feel good when they figure out a monad is a container & a lens is a path through a data structure, but attempts to explain to others these things feel condescending. Does Haskell even have an animal mascot? (serious question.) Also "stumps" a lot of people and people feel bad about it. There's no "import antigravity" equivalent feeling with Haskell. This sounds pretty sombre for Haskell, though it's been an academic language a long time, and could probably stay alive that way. One positioning possibility is maybe with the Frontend dev world becoming more and more functional and pure-oriented, positioning itself like reasonML, as a way to write and reason about declarative pure UIs. But I don't think the existing Haskell community cares too much about that world. Idk, I'm going to just keep writing Rust and JS, the already most loved and popular languages. |