this x1000. My main frustration with imperative programming has become the devops plumbing and defensive nature in code that was needed to get something done.
Switching to Elixir
- learning what OTP brings to the table, e.g. observers, genservers
- distillery compiled binaries per OS, negating the need for a lot of the devops complexity, e.g. docker, node,
- the switch to esbuild and liveview for less JS cruft
- FP transforming of immutable data to more immutable data vs managing state
I've been soft-evangelizing it for a while now (difficult because I'm also kind of anti-religion/dogma) but what we need more of is data supporting our lived experiences/intuitions... I haven't found much out there (there is some, but it's definitively insufficient)
Switching to Elixir - learning what OTP brings to the table, e.g. observers, genservers - distillery compiled binaries per OS, negating the need for a lot of the devops complexity, e.g. docker, node, - the switch to esbuild and liveview for less JS cruft - FP transforming of immutable data to more immutable data vs managing state
TBH all of it has been a breath of fresh air.