Hacker News new | ask | show | jobs
by t0asterb0t 34 days ago
The author has a series of blog posts introducing category theory to programmers: https://bartoszmilewski.com/2014/10/28/category-theory-for-p...

I'll admit to only having read the first few chapters, but it came across as an approachable intro to the math.

1 comments

He has also done a youtube series on category theory for programmers [1]. I have personally been using a book recommended by someone here called "Conceptual Mathematics"[2] and have been finding it great so far in the sense that it only relies on high-school level maths concepts while introducing the categorical concepts in contexts where you can see the value of the approach [3].

It is really an interesting set of ideas and as soon as you start using it, some things start to change in how you approach problems. Just today in fact I was working on something and thought to myself "I need the opposite of a forgetful functor - I wonder what that is?" (turns out it's the "free group functor"). But because I knew about the existence of the concept it helped turn what would otherwise have been a maths problem that I would have really struggled with into something that was conceptually easy for me to deal with. I essentially could use the category theory to turn a problem that was hard to think about into something easy to think about (and also to show that this was valid) and then I could solve the problem in a conventional way.

[1] https://www.youtube.com/watch?v=I8LbkfSSR58&list=PLbgaMIhjbm...

[2] https://www.cambridge.org/highereducation/books/conceptual-m...

[3] As opposed to say Emily Riehl's "Category Theory in Context" https://math.jhu.edu/~eriehl/161/context.pdf where the maths required to even get started with the examples in the intro is graduate level. To get a sense, this is literally the first sentence of the first chapter: "A group extension of an abelian group H by an abelian group G consists of a group E together with an inclusion of G ↪→ E as a normal subgroup and a surjective homomorphism E ->> H that displays H as the quotient group E/G. " It's pretty full on.