3 ms·
I don't agree with this at all! More or less every mainstream language has adopted first-class functions to the extent that they can. JS has always had them. C
by currymj 9y ago
I don't agree with this at all!
More or less every mainstream language has adopted first-class functions to the extent that they can. JS has always had them. C++, C#, Java have all added them; Python and Ruby have had them for a while now. Standard functional programming constructs like map, filter, and reduce are now extremely familiar, whereas not too long ago they would have required a tutorial and explanation.
And just as imperative languages have adopted functional features, functional languages are growing more popular. Even if you just limit yourself to Lisps, Clojure is used widely. There are probably many more Lisp programmers now than there were 5 or 10 years ago, thanks to Clojure's adoption. Branching out a bit, Scala is also very popular.
That's not even to consider hipper, trendier things like Elm, or the increased popularity and visibility of Haskell.
- teolandon 9y agoHuh, maybe I just haven't been talking to the right people. I always felt like I was surrounded by people who didn't want to bother with functional languages any further. It's true that every mainstream language has adopted first-class functions, but that's not all that a functional language gives you. Writing in Common Lisp or Scheme, you have to adapt a different outlook on how you view states, what a function means, what side-effects are, and you become very much more careful about how and when you apply those concepts in your programs. But yeah, I agree with you, those concepts being included in mainstream languages definitely decreases the barrier to entry to more pure functional languages, and definitely pushed more people toward there. Didn't think of Scala, you're right, it's very popular. I was just speaking from personal experience, didn't actually look into how things are going outside my scope.
- foldr 9y ago>Writing in Common Lisp or Scheme, you have to adapt a different outlook on how you view states, what a function means Surely not in Common Lisp. Common Lisp code is often just as imperative as Python code.