News for hackers. Stuff that matters.
Re:The Two Cultures of Mathematics (2000) [pdf] by Karrot_Kream on Monday April 26, 2021 @06:10AM (#26940988)
Fantastic! Thanks for this. The FP vs non-FP split has always just felt like a less rigorous version of the "analysis vs algebra" or "problem-solving vs theoretical" discussion and I'm glad I'm not alone in thinking this.

This is also what rubs me the wrong way about the simplistic level with which FP languages (like Haskell or Scala+monads) are either cargo culted or hated. The truth is, the two perspectives really go hand-in-hand, and we're all the worse for not realizing this.

Re:The Two Cultures of Mathematics (2000) [pdf] by ukj on Monday April 26, 2021 @09:06AM (#26942101)
All notations (programming or Mathematical) are just different ways of expressing computations.

All notations have trade-offs at the level of semantics making certain operations more difficult to express (what programmers refer to as 'the expression problem')

That's the entire shpiel of reification/first-class citizenships/semantics of programming languages.

Instead of getting into fanboi-ism of 'my language is better than your language' perhaps approach the problem from first principles (design): what is "IT" that you want to talk about, reason, express and manipulate in your program?

That dictates the sort of language you need to solve the problem that you are trying to solve.

https://en.wikipedia.org/wiki/First-class_citizen https://en.wikipedia.org/wiki/Reification_(computer_science)

Re:The Two Cultures of Mathematics (2000) [pdf] by Kalium on Monday April 26, 2021 @08:07AM (#26941646)
In my opinion, the FP/IP split is fueled in no small part by a wildly divergent set of vocabularies. A dozen different <greek letter> transforms are inscrutable to anyone who has not spent much time studying Lambda calculus, and the concept of a monad is famously difficult to explain.

You wind up with two camps that cannot communicate. It's often made worse by the functional programmers - who are mostly also imperative programmers - doing a poor job of enabling translation.