this post was submitted on 16 Jul 2023
1669 points (96.6% liked)

Memes

45731 readers
1020 users here now

Rules:

  1. Be civil and nice.
  2. Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you have to.

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

coding has nothing to do with math

A monad is just a monoid in the category of endofunctors, what's the problem?

[โ€“] [email protected] 1 points 1 year ago (1 children)

I'm not that good of a coder or mathematitian to know what that quote means ๐Ÿ˜‚๐Ÿ˜€.

[โ€“] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

It's from a longer quote in "A Brief, Incomplete and Mostly Wrong History of Programming Languages" about the language Haskell:

1990 - A committee formed by Simon Peyton-Jones, Paul Hudak, Philip Wadler, Ashton Kutcher, and People for the Ethical Treatment of Animals creates Haskell, a pure, non-strict, functional language. Haskell gets some resistance due to the complexity of using monads to control side effects. Wadler tries to appease critics by explaining that "a monad is a monoid in the category of endofunctors, what's the problem?"

Some other languages like e.g. Rust also use monads. The point I was trying to make humorously was that many programming languages sometimes do use math concepts, sometimes even very abstract maths (like monads), and while it's not maths per se, programming and computer science in general can have quite a bit to do with maths sometimes.

[โ€“] [email protected] 2 points 1 year ago* (last edited 1 year ago)

Yeah, I get what you're trying to say now ๐Ÿ˜‰. Still, they're mostly used when doing algos, which in real world practical examples is almost never. We do all sorts of repetitive things, like sorting or user input blocks, but new algos is... something that you might do in NASA, CERN, Wall Street, not your every day programming job. Sure, you might optimize a thing or two here and there, but that's about it ๐Ÿคท.