4 ms·
tbh if you have the ability to easily treat functions as first class citizens in a language then it's fair enough to say you can code functionally in it. I thi
by n4r9 7y ago
tbh if you have the ability to easily treat functions as first class citizens in a language then it's fair enough to say you can code functionally in it.
I think the attitude "X is inherently a functional language" is being replaced by the idea that there are clusters of language properties with labels like "functional" or "object-oriented" or "array-based" or whatever, and that a language may overlap with bits of various clusters to a greater or lesser degree.
- itsbruce 7y agoThere's more to the admittedly fuzzy-edged concept of functional programming than function application. I'd agree with you that the feature list is more important than a vaguer title. That's something Robet Harper talks about: http://www.cambridgeblog.org/2017/05/what-if-anything-is-a-programming-paradigm/ http://www.cambridgeblog.org/2017/05/what-if-anything-is-a-p... But the selection of features has limited value if the selection isn't coherent and the features don't compose. Within both FP and OOP there are languages whose design choices represent coherent choices with synergy... and ones that don't. Go's feature set doesn't provide that coherence and synergy for functional abstractions. Frankly, it's an awkward obstacle in that direction. Beyond that, its feature set is deliberately designed to place arbitrary limits on abstraction.
- n4r9 7y agoThanks, this is a measured response that's made me think a little deeper and refine my opinions.