be more Meta |
---|

It's all about abstraction |

Suggestions from yet another recent thread about the value of Category Theory in computer science and engineering [1]:

*eindiran*

... learning about techniques used in functional programming that have their origin in category theory (maps, folds, algebraic data types, monads, monoids, etc) can allow you to think about how to solve problems (even in non-functional languages) in ways that can be more "natural" to the problem, in that the abstractions used resemble the problem description more closely. That ability to decompose difficult problems in new ways can definitely make you a better engineer. ...

*mtzet*

... category theory is massively useful in understanding the similarities between fields, and can be used to transfer understanding from one field to another. It it also useful for understanding more abstract fields where the intuition must be gained by analogy with something more concrete. ...

*btilly*

... Category theory is about abstracting away the details of mathematical domains so that fundamentally parallel proofs and constructions can be seen to be essentially the same. It also allows you to create constructions that allow problems in one field to be transformed into problems in an apparently unrelated one where you might find them easier to prove. The result is that in a new field, you recognize the category and suddenly have a whole bunch of results, and some important constructions to look at. ...

*namarkiv*

... Category theory is about making trivial things trivially trivial ...

*acjohnson55*

... category theory ... draws out the significance of relationships in a system. We often spend a lot of time thinking about the things, themselves, in a system. ... What are their properties? What do they mean? What is their identity? In category theory, almost all the significance of individual things is erased. Instead, you often group things up into sets and other structures, and then call the whole set an object. Then you think about the existence of morphisms from one kind of object to another. A morphism is kind of like a function, in the sense that something goes in, and something else comes out. Except that we're not concerned about the properties of what's going in and coming out, so the function body doesn't really matter. A morphism is something more general than any specific function. It's more like a function declaration--specifying that something does exist without saying anything concrete about what it does. So, you're operating on a level of abstraction that removes basically all unnecessary details about things and relationships, other than existence and some basic rules for how those relationships can be composed to form new ones. As it turns out, there's a whole lot you can say and prove about categories once you know a bit about their structure. ...

*tel*

... CT is really what happens when you boil and boil and boil away these different fields and are just left with some very universal ideas. Abstract nonsense. ... The thing you can learn from CT which is interesting and valuable is the very powerful, universal perspective of "if you want to understand something, look at how it relates to other things". Category theory is absolutely focused on this idea and most of its insight is that this idea, taken in its extreme, is extraordinarily far reaching. ...

*(cf Greatest Inventions (2011-06-09), Cakes, Custard, and Category Theory (2016-02-14), Category Theory Concepts (2016-04-25), Bird's-Eye View (2016-07-20), Category Theory for Programmers (2017-05-12), Ultimate Abstraction (2017-08-24), Put the Vast Storehouse in Order (2017-10-04), If You Need a Theorem (2018-11-08), Category Theory is like a Lighthouse (2018-12-24), Macro vs Micro (2019-02-03), Why Care about Category Theory (2019-03-03), Structure Itself (2019-03-22), ...)* - * ^z* - 2019-04-24