3 ms·
Being a functional language is different than supporting functional programming. A functional program is one that fits the mold he describes: high-order functio
by lmkg 14y ago
Being a functional language is different than supporting functional programming. A functional program is one that fits the mold he describes: high-order functions as the primary abstraction, pure wherever possible, heavy emphasis on transformation of values rather than updating state. A language that supports functional programming is one where such a program is possible (without too much trouble). A functional language is one where programs that don't fit that mold are difficult or discouraged.
To the author's point, supporting functional programming is not hard and most languages do it. Basically all languages, except Java and maybe like Pascal or something. I'm ok with that, though. I'm fine that I can write my own JavaScript functionally, even though other people may not. (Though it's annoying when I interface with less-than-functional third-party libraries.) After all, part of the reason to learn Lisp or Haskell is to make you better at Blub, right? Merely supporting functional programming means that I can still put those lessons to decent use.
- dllthomas 14y agoWith the addition of unnamed classes, Java supports functional programming - it's just extremely verbose.
- Rickasaurus 14y ago> After all, part of the reason to learn Lisp or Haskell is to make you better at Blub, right? What's forcing you to stay in Blub to begin with? There's great same-platform alternatives to everything except for Javascript.