3 ms·
Category theory always reminds me of this quip by Feynman: https://www.youtube.com/watch?v=B-eh2SD54fM https://www.youtube.com/watch?v=B-eh2SD54fM When I hear
by incrudible 2y ago
Category theory always reminds me of this quip by Feynman:
https://www.youtube.com/watch?v=B-eh2SD54fM https://www.youtube.com/watch?v=B-eh2SD54fM
When I hear people talking in the jargon of category theory, I do not understand what they say, but I have a suspicion that it is something rather mundane that I would understand if they were using the more specific terms for the given context. I understand the appeal of generalization from a mathematical perspective, but from a practical programming perspective, I fail to understand the value proposition.
- feanaro 2y agoHow do you discover the principles in the first place? You can discover them once and then apply them in all applicable places precisely because you generalised them. You have a point that the result may very well be more easily explained in concrete terms to practitioners of a given field in which you applied it, though.
- steego 2y agoWhile I understand Feynman’s point that mathematicians love to generalize everything and that physicists focus on what actually works in the real world, as programmers, we’re doing something different from both of those groups. We’re engaged in a mix of engineering and analysis. We need to build systems that hold together under real conditions. Category theory might seem obsessed with abstraction. In some ways, it is. However, when skilled practitioners apply these tools to areas of computer science and engineering, the point isn’t to create generalized abstractions. The point is identify the minimal, leak-proof abstractions needed to fulfill some desired quality. While I understand the language sounds very general, cryptic and off-putting, it’s also very precise. While category theory might seem like a discipline that’s obsessed with generalizations, in practice, the abstractions one constructs using categorical tools can be very specific. The point isn’t always to construct the most general abstractions, it’s to construct abstraction that actually work 100% of the time. The irony is, mathematicians and computer scientists who are concerned with rigor often do this by proving specific cases first and then incrementally generalizing, not the other way around.
- catgary 2y agoIt might help the programmer but confuse the quantum physicist or algebraic topologist. It’s an interdisciplinary field and we do our best (well, I’m out of it so it’s not really “we” anymore). The abstract differentiation stuff that makes up the backbone here also gets used in homotopy theory and is applied to algebraic geometry.
- incrudible 2y agoI doubt that the average quantum physicist would have a better time with the jargon of category theory than the programmer. If you want to say something to people, you need to speak their language. > The abstract differentiation stuff that makes up the backbone here also gets used in homotopy theory and is applied to algebraic geometry. I should certainly hope so!
- catgary 2y agoLook, I agree that someone pitching category theory to programmers should make more of an effort to introduce terms/use common language when possible. And you can look at Gordon Plotkin’s papers to find some good, hard CS papers that take the time to work out examples relating things to structures familiar to a programmer. But there’s the reality that CT is an interdisciplinary field, and you will have topologists working with computer scientists and they’ll often be actively disinterested in each other’s fields. Imposing your jargon or notation on your coauthors from other fields is hardly a great way to foster collaboration.