Could people please stop use "Functional Programming" as a
synonym for "Pure Functional Programming"? The author uses
them interchangeably even though his arguments do not apply
to the impure style.
Even in impure languages, writing simple functions without side effects is the ideal of functional programming — the language just doesn't force it. If you want to write imperative code, just call it imperative. Don't call it functional just because that's the cool buzzword nowadays.
The ecosystem of programming languages are analogous to class&race interplay in RPGs, especially RPGs where youve got strong distinctions between melee (imperative) and casting (functional) classes, with a smattering of hybrids (Python, Ruby, Scala, Clojure).
"After spending a long time in the functional programming world, and using Erlang as my go-to language for tricky problems, I've finally concluded that purely functional programming isn't worth it." (emphasis mine)