3 ms·
The author doesn't say it so I will: Category Theory is like a treasure map to FP. Possibly many other systems interesting to programmers too—circuits, optimiza
by tel 12y ago
The author doesn't say it so I will: Category Theory is like a treasure map to FP. Possibly many other systems interesting to programmers too—circuits, optimization, DSLs, API design, etc. CT is not required for practicing FP, but it can be a powerful guidepost to solving problems. A good CT intuition will lead you to recognize opportunities for nice abstraction in a way that's difficult to replicate otherwise. It'll also give you a tool belt for communicating them to others without any arm-waving. All together that's a powerful thing.
- Nokinside 12y agoThis is like saying Tsiolkovsky rocket equation is the core of rocket science. You are not exactly wrong, but it's just one piece of the puzzle. You need to study math and algebra more broadly if you want to see and use categories solving problems. If FP community would advocate big math curriculum for programmers with category theory at the top, hype would die fast.
- tel 12y agoI think that for many programmers there are sufficient applications of CT in their own work that learning it would be a boon. I don't at all disagree that that learning algebra more broadly here is beneficial, too, though! And hell, you can be absolutely certain that I'd advocate a big math curriculum for programmers with category theory at the top. I don't know that the ROI is there for everyone, but I couldn't not recommend such a thing heartily. Learn abstract algebra, as a programmer? Of COURSE that will help you.
- skybrian 12y agoI'm willing to believe that in the end it will all have been worth it. But I didn't find that enough to continue reading this particular series because after a while it didn't seem to be motivated by any useful problems for programmers, as was promised in the title. Here's my heuristic for whether a problem makes a good example: whether or not it's the best tool for the job, would you write a program to solve it in C or Java or Go? If not, I'm skeptical it's solving a problem that exists outside the functional programming universe. There are plenty of techniques that solve problems that only make sense within the particular ecosystem where you find them; lots of Java tools are like that, for example.