this post was submitted on 16 Jan 2025
266 points (96.2% liked)

Programmer Humor

33529 readers
278 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 6 points 1 month ago (10 children)

It would be extremely annoying to be forced to write all my code functionally.

But I find it even more annoying to be forced to write all my code object oriented. Looking at you, python and java.

[โ€“] [email protected] 4 points 1 month ago* (last edited 1 month ago)

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.

load more comments (9 replies)