About this video
In this episode, I start with Elixir and BEAM, and end with category theory, logic, sets, and Gödel.
This is not an academic lecture or a piece of “popular mathematics,” but an attempt to explain how all of this relates to real-world development.
Let’s analyze:
— why Elixir at all? — what is BEAM and OTP? — parallelism and event loop — functional vs. imperative — why is it useful for a programmer to understand logic? — set theory — category theory — morphisms and isomorphisms — and why do they bring up the example with Socrates?
The video is based on a stream — without cutting out any context and with explanations throughout.
For monad haters
I use relative monads – this is a broader concept than classical ones. https://arxiv.org/abs/1412.7148 If you are interested, you can find it by searching for: “monads need not be endofunctors”
If you: — want to gain a deeper understanding of programming — feel that “code is not everything” — or are simply curious about how everything is connected
Join the streams.
00:00:00 – What’s the deal with Elixir? 00:00:50 – Example of lambdas from ITMO 00:01:20 – A little bit about BEAM 00:01:36 – A little bit about Erlang 00:02:49 – A little bit about Haskell 00:03:25 – Elixir as TypeScript 00:04:17 – A little bit about imperative vs. functional programming 00:05:20 – About the syntax of Elixir 00:05:36 – A little bit about OTP, 99.9999999%, parallelism, and supervisors 00:12:10 – A little bit about parallelism, event loop, and multithreading 00:16:38 – About functional programming for JavaScript developers 00:17:23 – Again about logic and mathematics 00:20:45 – The principle of the excluded middle 00:23:23 – Again about set theory for programmers 00:23:50 – About “Russell’s teapot,” Bertrand Russell, the burden of proof, the paradox of set theory, and fallacies 00:27:32 – Briefly about Gödel and his incompleteness 00:28:25 – Briefly about the equality of complete and incomplete problems (p = np) and what it has to do with chess 00:29:20 – Category theory and levels of mathematics 00:31:38 – Definition of categories for a programmer 00:32:27 – What is set theory for a programmer? 00:34:29 – Why is the example with Socrates used at all? 00:35:17 – Briefly about the Universe set and its paradox 00:35:40 – Logical explanation of category theory and what it has to do with enthymeme 00:39:42 – A little bit about morphisms and isomorphisms 00:43:20 – A piece from the stream about openclaw 00:44:12 – Returning to composition 00:45:10 – And what is the meaning of Set, Grp, Vect, and others? 00:47:10 – And now we are returning to Elixir 00:47:20 – Syntax, modules, and atoms in Elixir 00:48:03 – Pattern matching in Elixir, for example, a = 10 and 10 = a, as well as the pipe operator and guards 00:55:52 – How long did it all take me, and why am I telling this at all? 00:57:20 – What remains in mathematics, or a map of mathematics, or a map of math in my opinion 01:03:35 – A little bit about DevBSD
Where can I be found?
▶ Twitch (streams): https://www.twitch.tv/marat_zimnurov
▶ Telegram — about programming and digests: https://t.me/digitable_blog
▶ A post about color theory that I mention in the video: https://t.me/digitable_blog/30
▶ Projects and services: https://digitable.ru/
▶ GitHub: https://github.com/the-homeless-god
All other contact details can be found in the channel header.
If you: — have long wanted to start programming — are already writing code, but feel like you “don’t know something” — want to understand what real development looks like without the gloss
Subscribe and join the streams.
You can support the channel by subscribing here and on Telegram https://t.me/digitable_blog or on Twitch via the donation button. If there is a need and demand, I will create a Boosty page in the future, but for now, I will take it easy.
• You can read about BEAM here – dev.to: BEAM: In Simple Terms https://dev.to/adamanq/beam-prostymi-slovami-3104 • General overview of Elixir – youtube: fireship: Elixir in 100 seconds (if needed, I can re-dub it and upload it to the channel as a translation) https://www.youtube.com/watch?v=R7t7zca8SyM • Good course about Elixir – youtube: playlist: Elixir - functional development https://www.youtube.com/playlist?list=PLWlFXymvoaJ_SWXOOm2JSqv86ZBkQ9-zo • Good video about group theory – youtube: Group Theory and the 196883-dimensional monster https://www.youtube.com/watch?v=aCvnUuYaRH8 • Good video about youtube: Levels of Mathematics. How does algebra and category theory arise? https://www.youtube.com/watch?v=7peIaVJj_pg • Good video about youtube: Category Language – in English – if needed, I can also translate it https://www.youtube.com/watch?v=5Ykrfqrxc8o
Watch on Rutube: https://rutube.ru/video/a7bca2492f879465fa7b8ce034dd6790/