2 ms·
No offense, but I think you may be pandering to people who don't know what they're talking about. Guido adds first class functions and functools to the standar
by Locke1689 14y ago
No offense, but I think you may be pandering to people who don't know what they're talking about.
Guido adds first class functions and functools to the standard library and people suddenly start calling Python "functional." The same is probably going to start happening to Java once λ expressions get added.
I think functional programming has been most clearly defined as those languages whose base model of computation is the λ-calculus (or F_ω, etc.). Python is not functional because, despite having functional features, the idiomatic way of writing Python mirrors Turing machine computation.
If you restricted yourself to only the functional features of Python, well, that would be Python in name, but is that really how people write Python?
- Rickasaurus 14y agoThe problem is that the vast majority of programmers don't know what they're talking about. Scott Hanselman calls them then silent 99%. They don't blog or comment and they do real work everywhere. The point is terminology matters, especially in how those who can't be bothered to dig deeply come to understand things.
- Locke1689 14y agoYet your post simply concedes the point--would you not rather explain why people are wrong rather than walk the line yourself to make a point?
- Rickasaurus 14y agoAs someone who has regularly given tech talks on functional programming to audiences completely foreign with the ideas involved for almost five years I'm completely sick of explaining it. It takes up far too much of my time when I could be teaching other cool stuff. Calling it Expression Oriented programming is something I've taken to recently and it get people on the right track off the bat. They're focusing on the expressions and not just trying to understand how everything relates to functions.