4 ms·
There's a widening generational gap in what "functional programming", in a practical sense, means. "Back in the day" a language got called 'functional' if it ha
by morelisp 4y ago
There's a widening generational gap in what "functional programming", in a practical sense, means. "Back in the day" a language got called 'functional' if it had anonymous closures, upwards funargs, tail calls, you could implement a decent `reduce`, etc. Today it means purity and immutability, monadic comprehensions, and type systems to support all that.
Go's the first kind of functional language. But so is almost everything else, even Java, now.
- KingOfCoders 4y ago"Back in the day" we didn't call a language functional. The 1967 Lisp 1.5 Primer on my desk for example doesn't use the term at all. The widespread use of language categorization came with object oriented languages which used that as a marketing term.
- morelisp 4y agoOK boomer.
- stewbrew 4y agoIIRC lisp was already called "functional" in the 1980s. It was in contrast to purely procedural languages. I cannot comment on the 1970s.
- lispm 4y agoThe functional Lisp (Lisp without assignment) was called "Pure Lisp" back then. Sometimes also there was the term "applicative language".
- KingOfCoders 4y ago"Lisp, an acronym for list processing"
- dragonwriter 4y ago> “Back in the day” a language got called ‘functional’ if it had anonymous closures, upwards funargs, tail calls, you could implement a decent `reduce`, etc. Back in the day, we talked about programming paradigms and whether or not a language supported them; we didn’t usually label languages by paradigm unless there was a fairly tight association of the paradigm with the language.