
#210 overall
Category Theory for Programmers
YouTube
2 recommenders · 2 threads · recommended in 2 years, 2017–2020 · score 2.1
A video lecture series by Bartosz Milewski introducing category theory to programmers, with Haskell examples as the main motivation. It covers the core concepts of categories, functors, monads and related ideas, and is accompanied by a free book version.
Commenters call it a great introduction and overview of category theory aimed at programmers, with enough context to understand why the material matters.
Recommendations by year
20062026
For those want a great intro and overview of category theory aimed at programmers, Bartosz Milewski's lecture series on YouTube [0] is worth the time investment. It covers the topics this post discusses and more, but crucially with plenty of context to help understand why any of it matters.
0: http://www.youtube.com/playlist?list=PLbgaMIhjbmEnaH_LTkxLI7...
Bartosz Milewski's lectures on category theory are great. Also, the accompanying book is well written (and free)!
lectures -> https://www.youtube.com/user/DrBartosz
book -> https://github.com/hmemcpy/milewski-ctfp-pdf
Motivation and direction are important when starting out. I decided pretty early on that I wanted to be an algebraist, but would have to build some mathematical maturity before I could get there, so I had a rather shallow goal in the beginning: to be able to solve the previous years' math GRE papers. Off the top of my head, these were some of the books that I worked through:
1. Spivak's Calculus.
2. Johnstone's Notes on Set Theory and Logic.
3. Gamelin's Complex Analysis.
4. Hoffman & Kunz' Linear Algebra.
5. Dummit & Foote's Abstract Algebra; just the group theory.
6. Munkres' Topology; just the general topology.
Once I was happy with my preparation, I strived for a deeper understanding of Group Theory. I bumbled through Herstein, but didn't understand it very well. Then, I stumbled upon Artin's book, and worked through it using the outline provided on the MIT OCW course page, and I could confidently solve most of the exercises.
For category theory, the top resources that I would recommend are:
1. Mileweski's Category Theory for Programmers, the video lecture series. As is always the case with video lectures, this one can help motivate a Haskell programmer uninitiated in category theory.
2. Goldblatt's Topoi. It's fairly dated, but teaches category theory well, via its application to topoi.
3. MacLane's CatWork. I'm not especially fond of this one, but it's necessary to work through it.
The most important thing to understand when learning category theory is that it cannot be learnt in a vacuum: the subject is entirely vacuous, and you need to use it in other mathematical disciplines to give it meaning.
Good luck.