• haruki@programming.dev
    link
    fedilink
    arrow-up
    11
    ·
    edit-2
    1 year ago

    Functional programming is so much fun. Sadly people usually give it complicated concepts to a point that it scares beginners away.

    I understand that by giving something a name, we have control and can communicate effectively with others about it (like design patterns). But still…

    • expr@programming.dev
      link
      fedilink
      arrow-up
      8
      arrow-down
      1
      ·
      1 year ago

      It’s a pretty natural consequence of other languages simply not having a concept or word for the thing that we’re trying to abstract over, so better names simply don’t exist. I’ve yet to see anyone come up with a better name than “monad” for the concept. Same for monoids. We may as well use the names that come from math and are already used extensively rather than trying to invent some new name that would invariably be misleading anyway.

      Every single programming language is chock full of jargon that is basically meaningless to anyone unfamiliar with it. It’s really no different. The only difference is that monads are fundamentally an unfamiliar concept to many imperative programmers, particularly because programming in that style pretty much upends a basic assumption imperative programmers tend to have (namely, that the semantics of sequencing operations is a global, immutable property of programs).