Bartosz Milewski


Bartosz obtained his Ph.D. in theoretical physics from the University of Wrocław. After working as a postdoc at universities in Europe and in the States, he switched to programming and joined Microsoft, where he led the team that implemented the Windows search engine. He wrote a book about object-oriented programming in C++. His interest in parallel and concurrent programming led him to the study of functional programming and then to category theory. He wrote a book "Category Theory for Programmers" based on his popular blog and has a YouTube channel where he teaches category theory.



Why algebraic data types are important (2018)

Strong static typing detects a lot of bugs at compile time, so why would anyone prefer to program in JavaScript or Python? The main reason is that type systems can be extremely complex, often with byzantine typing rules (C++ comes to mind). This makes generic programming a truly dark art. Interestingly, the theory behind types is relatively simple – a fact exploited by functional languages like Haskell or ML. I'll discuss elements of type theory and its connection to category theory and logic.