Live data from Hacker News

Why I am learning category theory

the.scapegoat.dev

81–90 of 224 posts

Re: Why I am learning category theory

#81

Earlier quoted context omitted.

I think the best way to become a better React developer is to learn Elm, and then build your React apps the same way Elm would have forced you to.

… and Redux was born!

Quite literally.

https://redux.js.org/understanding/history-and-design/prior-...

Re: Why I am learning category theory

#82
post #71

Earlier quoted context omitted.

Honestly I'm pretty weak in both, but they seem to reflect my intuitions, if that makes sense? I'm nowhere near a working mathematician, and proofs usually bore me. I prefer writing code.

If you're looking for an alternate perspective, I would suggest taking an advanced undergraduate analysis book and working through it, proofs and all. It'll teach you the same kinds of stuff that you're getting out of CT but will give you "working" (lol) knowledge of how to apply it. A lot of mathematical work is about creating math objects and relations and proving properties of these objects through their relations…

I studied CS in germany in 1999 and we had "analysis 1+2+3" which I think was a fairly rigorous analysis treatment, I definitely did more than my fair share of proofs. I think that foundation accompanied me through all those years of programming and helped me read and pick up concepts related to type theory, algebra and functional programming.

In parallel I developed this very "visual" way of thinking about structure that makes me really resonate with CT. In a way I'm less interested in learning new maths, more so than learning more about how people approach (complex) structures I already know with these very rudimentary concepts, and seeing how their formalizations match my "folk mathematics".

I'm having a lot of fun!

edit: thanks for the book recommendation! that looks like my kind of maths book

Re: Why I am learning category theory

#85
post #58
post #52

Earlier quoted context omitted.

Morphisms are not a concept that is specific to category theory. Are there any lemmas or theorems of category theory that are useful in software development?

that's interestingly enough not something I'm interested in (formally deriving things and doing "proper" maths as part of my software work). I care much more about developing new intuitions, and seeing the category theoretical definition of monoid https://en.wikipedia.org/wiki/Monoid_(category_theory) inspired me a lot. In fact I think that one of the great things about software is that you can not care about being v…

> seeing the category theoretical definition of monoid https://en.wikipedia.org/wiki/Monoid_(category_theory) inspired me a lot.

What applicable insight did you gain over the normal algebraic definition (https://en.wikipedia.org/wiki/Monoid)?

Re: Why I am learning category theory

#86
post #80

Earlier quoted context omitted.

> As a programmer and hobbyist math reader, I found category theory to be very unrewarding (and I gave up on it) because of the lack of interesting theorems and lemmas. My takeaway was that there's Yoneda lemma and really nothing interesting before you reach that One of the most interesting things in CT are adjoints. They happen literally everywhere. For example, static analysis via abstract interpretation is an exam…

Sure, but what does the knowledge of something being an adjoint give you?

Here's a talk I'm chewing on right now: https://www.youtube.com/watch?v=TNtntlVo4LY

as with every abstraction, its value is in the value it brings you. That sounds a bit tautological, but I think that's the crux of the matter. If you like abstraction, and abstractions help you think, you are going to find value in them. If you feel they bring you nothing, then there is no need for you to use them.

Re: Why I am learning category theory

#87
> Category theory is really the mathematics of abstraction

Mathematics is the mathematics of abstraction. That's all you're doing in math, from the beginning to the end. What's the same between "I have two sheep in this pen and five in that one" and "I have two apples in this basket and five in that one"? Hmm, you can abstract out 2+5=7, since it works the same in both contexts.

Everything in math is creating and exploring abstractions. The good ones tend to stick around, the bad ones tend to be forgotten.

Category theory is the mathematics of composition. How much knowledge can you throw away and create reusable patterns of composition? How many interesting things can you find by adding back the smallest bits of additional structure on top of that minimum? How well do those things compose together, anyway?

Re: Why I am learning category theory

#88

I would be willing to drink the kool-aid if I saw it being used in a practical way. I always feel these posts are filled with category theory jargon without ever explaining why any of the jargon is relevant or useful. I’ve even watched some applied category theory courses online and have yet to feel I’ve gained anything substantive from them. However, as I started off with, I’m always willing to try something out or…

They describe composable patterns with a clear hierarchy. The jargon is useful, since it is the language in which they are described. I mean Turing machine, filesystem, socket and pipe are also jargon.

A good example is LINQ, they use monads and functors. They just gave them other names.

Re: Why I am learning category theory

#89
post #71

Earlier quoted context omitted.

Honestly I'm pretty weak in both, but they seem to reflect my intuitions, if that makes sense? I'm nowhere near a working mathematician, and proofs usually bore me. I prefer writing code.

If you're looking for an alternate perspective, I would suggest taking an advanced undergraduate analysis book and working through it, proofs and all. It'll teach you the same kinds of stuff that you're getting out of CT but will give you "working" (lol) knowledge of how to apply it. A lot of mathematical work is about creating math objects and relations and proving properties of these objects through their relations…

i skimmed through aluffi, and it is indeed exactly the material I had at university in analysis and algebra, augmented with the category theory angle. this is great, thanks a lot. Now I have to find an affordable copy somewhere.

I also like the focus on quotient groups and galois fields, as well as using graphs as recurring examples, which have been the only times I really put the pedal to the maths metal in my programming (for some crypto and error correction stuff).

Re: Why I am learning category theory

#90

Cool, I am also spending a little time on this. I bought a CT book by Emily Riehl but I am finding it rough going. I find her YouTube talks and lectures to be easier to follow.

Try Eugenia Chang’s new book, The Joy of Abstraction . Riehl’s book is very technical.

Thanks I will look at it.
Post reply on HN