![](/static/61a827a1/assets/icons/icon-96x96.png)
![](https://slrpnk.net/pictrs/image/d5b2f6e4-baea-4185-80c3-58eebb8f772c.webp)
I’m aware yeah, just saying that it’s not a term really all that well-known outside of these circles.
I’m aware yeah, just saying that it’s not a term really all that well-known outside of these circles.
Except calling people “tankies”. I had never even heard the word before joining Lemmy.
Unless you’re writing Scala or something (which is probably the one exception to the rule), if you are using a language that supports OOP, you’re not really doing functional programming. Functional-esque features that have made their way into imperative languages like map
are only a tiny fraction of the functional toolbox.
There’s a bunch of features you want in a language to do functional programming, and imperative languages don’t really have them, like purity by default (and consequently, an orientation towards values rather than references) ergonomic function composition, algebraic data types, pattern matching, support for treating everything as first class expressions/values, etc.
Perhaps this is presumptious (and I apologize in advance if so), but I’d wager you haven’t truly programmed in the functional paradigm. What imperative programmers tend to think of functional programming is very surface-level and not really reflective of what it actually is. It’s an entirely different beast from imperative programming. It requires a shift of your mindset and how you think about programs as a whole.
Source: Senior software engineer writing Haskell full time for the last 4 years. Will avoid OOP until my dying breath.
It basically does. It pretends to court functional programming while actually being really antithetical to it in basically every way. Guido Van Rossum has vocally expressed his dislike for functional programming (though I’d argue he actually doesn’t really know much about it).
Never understood why this is such a trope. There’s very little you can’t recover in git (basically, only changes you never committed in the first place).