Category Theory 1.1: Motivation and Philosophy

Bartosz Milewski · 394K views · 2016 · 46:46

Open on YouTube

Functional programmingPure mathematicsUniversity lectures & courseslecture

Why Hacker News recommends it

HN commenters repeatedly name it as the friendliest entry point to category theory for working programmers.

What it is

The first lecture in Bartosz Milewski's category theory series for programmers. It covers the motivation and philosophy behind category theory and why composition matters for handling complexity.

Recommended by 11 HN commenters across 9 different months, 2016 to 2026.

What Hacker News said

Strong rec defaultcompany · 2019-10 · on “On the Weaknesses of the Mathematical Mind”

This reminds me of a great talk by Bartosz Milewski [1] about the motivation and philosophy behind category theory. He makes the observation that our "monkey brains" are not good at dealing with complexity at all and we only really have one good strategy for dealing with it, that being to chop up complex problems into smaller, simpler problems which we can solve in isolation and then combine the results back together to approximate a solution to the larger problem. His point is that we do this everywhere and therefore it's no wonder that category theory is able to describe so many disparate areas of mathematics - because it's really describing just this mechanism, not some deep truth about t

Strong rec phekunde · 2020-05 · on “Ask HN: How to be fluent in functional language speak?”

If you are coming from imperative land (more specifically C++) then nothing beats articles and videos by Dr. Bartosz Milewski: [LINK] [this video] [LINK] [LINK]

Recommends openfuture · 2017-01 · on “Why hasn't Haskell taken over the world? And the curious case of Go”

That just means you are missing some foundation. If you are interested in understanding the theory I really recommend this: [this video] [LINK]

Recommends snowcrshd · 2017-04 · on “A monoid is a category, a category is a monad, a monad is a monoid”

I recently started going through Bartoz Milewski's Category Theory lectures [1]. I think they are a very nice place to start learning these things. [1] [this video]

Recommends danidiaz · 2017-04 · on “From Monads to Machine Code”

Those articles (and the videos [this video] ) are great but one doesn't need to learn category theory to understand monads in Haskell. The Haskell Wikibook is an underrated resource: [LINK]

Recommends nuriaion · 2017-04 · on “Category Theory, Syntactically (2016)”

I can recomend the video series of Bartosz Milewski ( [this video] ) I'm at the 4th video and it's the first time that i start to become an understanding of the howl thing. But expect it to take some time. (10 Videos, most are around 1h, i needed to pause several times and think or try something out)

Recommends yanowitz · 2018-02 · on “Monadic I/O and Unix shell programming (2001)”

This is a fun read (fair warning: you should have some understanding of monoids and monads before reading) and further validates my hypothesis that understanding category theory would make me a more effective engineer. If you've had the joy of constructing useful shell pipelines, and part of it is in the ease of knowing how it will behave. this is a nice formal statement that the underlying reasons WHY it just “feels right” are because of category theory--which means if I can just learn category theory, I’ll have a new tool for approaching and factoring problems that will be, technically speaking, hella useful. I suppose I should start (re)working my way through [this video]

Recommends philzook · 2019-01 · on “Ask HN: How to self-study mathematics from the undergrad through graduate level?”

John Baez (physicist / category theorist / smort dude) has a list of books to learn math and physics. Is an interesting source to crib from. [LINK] Gerhard t'Hooft has a page on how to become of a good physicist. [LINK] Not math though. I'm not necessarily suggesting that a mountain of books is the best way to go about it. I think I respond best to video lectures. I'm not sure where you're starting from or how applied/pure you want. Here's a quick mind dump some of my favorites and some that I haven't watched. Roughly in order of how much I liked them. Gilbert Strang's Computational Methods for engineers was life changing for me. It is a two part MIT opencourse. [LINK] A Stanford course on t