Тёмный

Category Theory, The essence of interface-based design - Erik Meijer 

FooCafe
Подписаться 6 тыс.
Просмотров 68 тыс.
50% 1

Category Theory is the Mathematicians' interpretation of interface-based design, so whenever you hack together a new API in your favourite OO language, it is always a smart idea to ask the question x -LT "What would x do?" applied to the Category Theorist that worked on your same problem already decades ago. Since lambda expressions are the new hot topic all across programming language land these days, we will invoke our question of conscience with "Joachim Lambek" and learn that Java 8 lambdas and method references are simply a Cartesian Closed Category, proving yet again that interfaces are the OO developers' interpretation of Category Theory.
Foo Café is an independent and physical meeting place for people of all backgrounds and expertise within the IT-industry in the Malmö/Lund region. Foo Café is aimed at those interested in sharing, learning and creating.
Join the fun at foocafe.org

Опубликовано:

 

24 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 65   
@psilocyberspaceman
@psilocyberspaceman 8 лет назад
I cannot get enough of Erik.
@marekbanaszkiewicz6338
@marekbanaszkiewicz6338 8 лет назад
Absolutely!
@jacksonlenhartmusic
@jacksonlenhartmusic 7 лет назад
"One of my guilty pleasures is reading language specifications." What kind of monster are we dealing with here?
@philippederome2434
@philippederome2434 7 лет назад
What is the issue here? Better that than molesting young girls. Maybe he also a vegetable garden, does wood work in his past time too, sing in a choir, and you have no idea.
@jacksonlenhartmusic
@jacksonlenhartmusic 7 лет назад
Lol, you took my comment much too seriously. There's no issue, I'm just playfully observing that it's a very abnormal "guilty pleasure".
@philippederome2434
@philippederome2434 7 лет назад
I guess I failed to see the irony... Sorry buddy.
@jakejakeboom
@jakejakeboom 7 лет назад
don't worry, his other guilty pleasure is heroin :p
@meditating010
@meditating010 4 года назад
😂
@rfyl
@rfyl 4 дня назад
I have tutored math for many years. When I would tutor -- especially "story" problems, but even just general math -- I always tried to say "Here's the problem; here's how you can break it down into smaller problem, smaller subproblems, etc. When I finally learned programming I realized that I had been teaching Top-Down. I LOVE that concept, and now I always tutor that way EXPLICITLY and mentioning that phrase. Needless to say, I therefore absolutely love your video, too! And all the more so because I'm very interested in Category Theory. So I started to study Haskell ... and was a little disappointed that the only category used in Haskell is the Category of Haskell Types (if I understand correctly). Oh, well! Anyway, I'm overjoyed that I stumbled onto your video ... and I look forward to watching many more! Really great work!
@rfyl
@rfyl 4 дня назад
You are one of a very small number of teachers I've seen who have the great ability to make people laugh with you about just how great the concepts are which you are teaching.
@abdulfatah66
@abdulfatah66 6 лет назад
fantastic talk... really amazed by the knowledge of this man.. he always teaches complex things in really easy way
@tahamagdy4932
@tahamagdy4932 5 лет назад
Absolutely deep high quality talk.
@neilbedwell7763
@neilbedwell7763 6 лет назад
its always a blast to watch Erik speak.
@Verrisin
@Verrisin 7 лет назад
yes, I never understood the bottom-up approach in mathematics: seems very counterintuitive... (because then I don't get what I'm learning...)
@aoeu256
@aoeu256 3 года назад
I was thinking about a version of Haskell/functional programming where instead of using lambda you used a similar term-rewriting replace operator to derive concrete functions from other concrete functions. You would derive product from sum by replacing the (+) with (*) and (0) with (1) i.e: product = replace sum {(+):(*), 0: 1}, however it requires that you have access to the source code of sum. These replacements seem kinda hacky though, but no need to go from abstract(general) -> concrete(specific), you can go from specific -> specific. This is very similar to Object.extend for JavaScript prototypes
@TheRevAlokSingh
@TheRevAlokSingh 6 месяцев назад
@@aoeu256macros and editing ast nodes
@pushpankark
@pushpankark 6 лет назад
You are the best in terms of giving intuition.
@FilosSofo
@FilosSofo 5 лет назад
lol I love this guy. I thought I was straight until I watched this video. 10/10 would watch more.
@ugurkoltuk
@ugurkoltuk 7 лет назад
31:57 - 32:17 a very funny and precise remark :)
@halian.vilela
@halian.vilela 5 лет назад
For God sake's Erik, stop using Comic Sans in code snippets! AHahahahaha. Besides that, great talk!!!
@ecco256
@ecco256 3 месяца назад
Great talk. When he chooses Void vs Unit when explaining exponentials, are there not 0 inhabitants of Void? So he should have chosen Unit instead?
@dfurmans
@dfurmans 7 месяцев назад
Brilliant!!
@StephenPaulKing
@StephenPaulKing 7 лет назад
The machines will talk to each other in lambdas!
@Verrisin
@Verrisin 7 лет назад
4:57 YES!!!!
@jzeus9842
@jzeus9842 7 лет назад
i love this guy
@andynicholson7944
@andynicholson7944 2 года назад
Seems to me his poke at “composition over inheritance” is both technically accurate but also missing an opportunity to underline his thesis further? Seems to me that when folks use composition, in category terms they’re writing functors between different "languages". When we try to use inheritance to solve those problems, we often end up trying to use a single “language” to capture two different concepts, which leads to terrible tangles. This is further muddied in languages like (say) Ruby, where everything is ultimately of type Object.
@TheRealNickG
@TheRealNickG 2 года назад
I didn't grab a beer, but I definitely needed to finish my wine XD
@mateusvahl5072
@mateusvahl5072 8 лет назад
6:40 soo true
@EwertonSilveiraAuckland
@EwertonSilveiraAuckland Год назад
Amazing
@vpatryshev
@vpatryshev 9 лет назад
Right. Ask typesafe people, are they aware of CT? :)
@philippederome2434
@philippederome2434 7 лет назад
I think they are but don't want to scare away their paying customers by introducing it in their language, books, or documentation. Some direction proposed by Viktor Klang on Akka Typed and Akka Streams is actually a very strong endorsement of the relevance of FP (and thus indirectly CT).
@valtih1978
@valtih1978 8 лет назад
Eric is my hero. He not only makes sense of some abstract garbage but also mocks be Java OOP bigots. I remember those bigots blocked me at their Java forum for asking why cannot we have define functions as easy as first class objects. These pattern bigots also always pissed me off with their 'use composition over inheritance' bullshit. I would like to hear the full version with more technical details.
@jearsh
@jearsh Год назад
java is crap, but inheritance is worse
@arekkrolak6320
@arekkrolak6320 6 лет назад
I like how he is trolling one person in the audience all the time :)
@Endomorphism
@Endomorphism 11 месяцев назад
39:11 fundamentalist functional programmers
@coolworx
@coolworx 8 лет назад
Composition kicks the shiite out of some creaky, static, hierarchic class stuctures. Nouns are nouns, and verbs are verbs. Keep them separate you g-d ol' C programmers.
@henrikvendelbo1117
@henrikvendelbo1117 7 лет назад
Not afraid of math. It just has a terrible ROI compared to many things that I don't have time for either. Sounds like the arguments here are pretty good though.
@sweetjonnie
@sweetjonnie 8 лет назад
fair enough but the Visual Basic language specification can't be too good either.
@herturluhalikilimtravel
@herturluhalikilimtravel 6 лет назад
Presentation by Rick Sanchez :)
@ruffianeo3418
@ruffianeo3418 8 лет назад
It's actually the other way around. Mathematicians search for language specifications within a section of PI, read it and translate it to greek. This is why they can argue it is not IP theft. As they stole the IP before it was written.
@wertrager
@wertrager 6 лет назад
And Math is not IP
@1videoshow
@1videoshow 7 лет назад
Good. All my software is not based on any theory ;)
@Evan490BC
@Evan490BC 5 лет назад
Oh no!
@lkd982
@lkd982 8 лет назад
hilarious dude
@djgreyjoy1495
@djgreyjoy1495 5 месяцев назад
Most math books don't even type-check 🤣
@scitwi9164
@scitwi9164 7 лет назад
This guy should go through every Wikipedia page and decode it from all that greek vomit into something a human being can understand, because he seems to be very good at it.
@Verrisin
@Verrisin 7 лет назад
"greek vomit" - thank you! - I will use this term for the 'syntax' used in math books from now on, great name!
@Elite7555
@Elite7555 2 года назад
It's true, the way math is tought, both in school and university, is awful. And most professors and their text books are awful.
@isodoubIet
@isodoubIet Год назад
Category theory is an excellent way to make what's simple look very complicated. Take a tuple! Simplest thing ever, right? Not so fast: *arrow barf.* Are you enlightened yet?
@trghhgggfff784
@trghhgggfff784 7 лет назад
bbb
@albertoandreotti7940
@albertoandreotti7940 8 лет назад
I didn't like this talk.
@psilocyberspaceman
@psilocyberspaceman 8 лет назад
+Alberto Andreotti What didn’t you like about it?
@albertoandreotti7940
@albertoandreotti7940 8 лет назад
He is not saying anything important.
@psilocyberspaceman
@psilocyberspaceman 8 лет назад
Alberto Andreotti Maybe not to you.
@DavidGoodmanLondon
@DavidGoodmanLondon 8 лет назад
+psilocyberspaceman he can be the centre of the universe if he wants...
@albertoandreotti7940
@albertoandreotti7940 8 лет назад
I mean completely irrelevant for software developers.
Далее
The Infinitesimal Monad - Numberphile
7:11
Просмотров 367 тыс.
A Crash Course in Category Theory - Bartosz Milewski
1:15:14
Alchemy For the Modern Computer Scientist - Erik Meijer
43:54
Category Theory in Life - Eugenia Cheng
40:39
Просмотров 100 тыс.