Replace fancy-pants terminology
Jun. 21st, 2010 01:20 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Engineers -- especially those who are on the edges of functional programming -- may appreciate this posting from Guy Steele. In it, he argues that the functional-programming community has picked up a lot of jargon from the math world like "associative", "commutative" and "identity", but while those concepts are ferociously important, the terminology mostly just gets in the way of the average programmer.
While I don't love his specific strawman proposals (eg, replace "Commutative" with "OrderDoesn'tMatter"), I think he's basically onto something here. Spelling out what these concepts *mean* in practice a little more clearly (and his table of examples is wonderfully clear) would probably lower a major barrier to entry into functional programming...
While I don't love his specific strawman proposals (eg, replace "Commutative" with "OrderDoesn'tMatter"), I think he's basically onto something here. Spelling out what these concepts *mean* in practice a little more clearly (and his table of examples is wonderfully clear) would probably lower a major barrier to entry into functional programming...
(no subject)
Date: 2010-06-21 06:17 pm (UTC)He used words of more than one syllable. :-)
(no subject)
Date: 2010-06-21 06:21 pm (UTC)(no subject)
Date: 2010-06-21 10:44 pm (UTC)The results can be pretty unintuitive, especially when you get into the theoretical definitions of things like "identity", which are horribly important for really understanding how to use powerful tools like monads. Hence, the desire to reduce the amount of jargon required in order to enter the field...
(no subject)
Date: 2010-06-21 11:25 pm (UTC)My father did his dissertation on Leibniz, so I grew up with 'monad' as a household word. Not everyone can be so lucky :-)
(no subject)
Date: 2010-06-22 01:42 am (UTC)And mine did physics. We got "aether".
(no subject)
Date: 2010-06-22 01:11 pm (UTC)(no subject)
Date: 2010-06-24 05:51 pm (UTC)