You should cite the Curry-Howard Isomorphism, a.k.a., the Formula As Types Idea (FATI). While the use of Category Theory is relatively new, the F.A.T.I. has been well known and predates the advent of Computers (apart from Babbage's Analytical Engine.)
You're half right that it's relevant; the trinity is relevant, but only by virtue of one of the three, and only partially. Programming semantics don't/haven't closely tracked lambda calc. They're getting closer, and yes as you would expect when you start framing things more lambda-y, but the important thing here is that there's a massive gap between real world semantics which programmers have developed to solve real world problems, and those as defined originally within the language of mathematics. Bartosz & co. appropriately put this gap into focus; there's no guarantee programmers will adapt the semantics systems of mathematics, and they will continue to re-invent (or originally) semantics & abstractions of mathematics (and vice-versa, mathematics having to recapitulate patterns already invented first in programming), proportionally insofar as that gap persists. They are doing the real groundwork here, right in this class, that is not merely hand-waved by some tables of "here are some similar synonyms" and "and they're all basically the same if you think about it". The devil is in the details. That trinity is practically more confusing & counter-productive for bridging the divide than it helps, imo. Good for mathematicians other m's , not appropriate for programmers mathematicians.
Thanks for posting this! "The closest thing to a dumb question is if you think secretly that your question is going to make you look smart." 😂 ^ I experienced this all the time where I studied. Such eye rolling! Much annoying.
category theory can be seen/thought as the abstraction of functional programming. But what is the abstraction of imperative resp. object oriented programming?
Inherently, imperative programming is non-abstractive. So it's kind of a... "Category Error" (this term is coincidentally irrelevant to CT, wikipedia has a good example). You can of course define functions in most imperatively-centric languages but that was a later projection onto the paradigm. Then you're just shifting it more away from imperative, and more towards functional. OOD is a very interesting question though. Because of state-magic it is no longer composable of smaller parts. You've sprung a leak in your abstractions. The constructs would have to be much much larger in terms of expressive complexity to incorporate the possibilities you're creating. That's my take on it, at least. It's a very good question, I'm not quite sure.
It's a shame that you make this comment, because that means an essential point went over your head; CT is not an ontological endeavor; that really may only fit under the purview of the sciences. A common way of saying essentially this point is "the map is not the territory", and you would be wise in meditating on that point. CT, as a discipline of mathematics, is inherently epistemic. Your criterion of what makes a good model should not concern itself with what is more "true" (a pointless & misguided target), but rather, what makes the most sense. What works as a good abstraction === what is a good abstraction. Invoking evolution as a key part of what made us, humans, as the thinkers & modelers we are, was clearly meant to be a shorthand of that essential concept. I understood it as such, as just a random viewer. I'd suggest you go back & re-consider this because for as long as you misunderstand this, you'll be wasting your time whenever you slip into delusions that you're describing the universe as it really is, in place of the actual reality which is that you're describing the universe with semantics which are convenient and useful to you, and whoever your collaborators (or providers/consumers) may be.
A while ago i saw a smart guy who said "if notice that i'm 'talking' too much with my hands it means i dont understand what i'm talking about" so, both first speakars were "hand - talkers"... Period.
This is both a stupid AND mean thing to say; some people just gesticulate. Some people gesticulate even more when they're nervous. These 3 are all clearly intelligent & knowledgeable in a topic they're kindly sharing out to the rest of mankind. It's a cowardly thing for you to do to, to cover-up what is probably insecurity on your part for not understanding the video series, with a second-hand comment from someone, this "smart guy who once told you", who seems to be a bloviating pseudo-intellectual. Be a better person than this.
Thank you MIT, TH-cam. This is what the internet is for ...
Greetings from South Africa. Thanks to everyone who made these lectures possible.
I have found the only person on my continent with the same interests xD
Greetings from Russia and thanks for free video lectures!
Greetings from Romania, thank you so much for uploading the lectures, looking forward for the next, with great excitement!
Thank you!! I've been waiting for something like this for years. Greetings from México!
Greetings from the Netherlands, great expectations, great excitement, thank you for doing this.
Glad to see these come up so quickly, as I'll have to miss the next two lectures. Many thanks!
Greetings from Brazil. Thanks for uploading the lecture. I'll check it everyday =)
Hello from Norway! Looking forward to both Category Theory and Haskell.
Greetings from ASU! Undergrad in Computational Math here and very excited for this lecture series.
fantastic to have these lectures here.... great topic!
love Haskell, greetings from germany
Thank you very much MIT, from Nigeria.
Thank you very much for sharing this course. You are amazing! Cheers from Spain.
Greetings from Turkey! Thanks for uploading so quickly!
Awesome I love Haskell
Awesome! Can't believe my eyes, thank you guys!
Greetings from Nigeria 🇳🇬 🎉
Amazing! Thanks for uploading this! Greetings from Copenhagen.
I wish I had the time to study these lectures.
You should cite the Curry-Howard Isomorphism, a.k.a., the Formula As Types Idea (FATI). While the use of Category Theory is relatively new, the F.A.T.I. has been well known and predates the advent of Computers (apart from Babbage's Analytical Engine.)
You're half right that it's relevant; the trinity is relevant, but only by virtue of one of the three, and only partially. Programming semantics don't/haven't closely tracked lambda calc. They're getting closer, and yes as you would expect when you start framing things more lambda-y, but the important thing here is that there's a massive gap between real world semantics which programmers have developed to solve real world problems, and those as defined originally within the language of mathematics.
Bartosz & co. appropriately put this gap into focus; there's no guarantee programmers will adapt the semantics systems of mathematics, and they will continue to re-invent (or originally) semantics & abstractions of mathematics (and vice-versa, mathematics having to recapitulate patterns already invented first in programming), proportionally insofar as that gap persists. They are doing the real groundwork here, right in this class, that is not merely hand-waved by some tables of "here are some similar synonyms" and "and they're all basically the same if you think about it". The devil is in the details. That trinity is practically more confusing & counter-productive for bridging the divide than it helps, imo. Good for mathematicians other m's , not appropriate for programmers mathematicians.
Thanks for posting this!
"The closest thing to a dumb question is if you think secretly that your question is going to make you look smart."
😂 ^ I experienced this all the time where I studied. Such eye rolling! Much annoying.
Greetings from Australia :-)
Thanks very much for sharing this :)
Excited 💜
category theory can be seen/thought as the abstraction of functional programming. But what is the abstraction of imperative resp. object oriented programming?
chaos theory?
Non-linear dynamical systems
Both as a joke but also in full seriousness @@ersstuff :p
Inherently, imperative programming is non-abstractive. So it's kind of a... "Category Error" (this term is coincidentally irrelevant to CT, wikipedia has a good example).
You can of course define functions in most imperatively-centric languages but that was a later projection onto the paradigm. Then you're just shifting it more away from imperative, and more towards functional.
OOD is a very interesting question though. Because of state-magic it is no longer composable of smaller parts. You've sprung a leak in your abstractions. The constructs would have to be much much larger in terms of expressive complexity to incorporate the possibilities you're creating.
That's my take on it, at least. It's a very good question, I'm not quite sure.
Thank you
Let's get it!
Wow, l loved it
hello from Brazil
Greetings from China!
uncle Bob was attending this class? it's seems him hahaha
Cool stuff, just skip the pseudo-science of evolution next time.
It's a shame that you make this comment, because that means an essential point went over your head; CT is not an ontological endeavor; that really may only fit under the purview of the sciences. A common way of saying essentially this point is "the map is not the territory", and you would be wise in meditating on that point. CT, as a discipline of mathematics, is inherently epistemic. Your criterion of what makes a good model should not concern itself with what is more "true" (a pointless & misguided target), but rather, what makes the most sense. What works as a good abstraction === what is a good abstraction.
Invoking evolution as a key part of what made us, humans, as the thinkers & modelers we are, was clearly meant to be a shorthand of that essential concept. I understood it as such, as just a random viewer. I'd suggest you go back & re-consider this because for as long as you misunderstand this, you'll be wasting your time whenever you slip into delusions that you're describing the universe as it really is, in place of the actual reality which is that you're describing the universe with semantics which are convenient and useful to you, and whoever your collaborators (or providers/consumers) may be.
A while ago i saw a smart guy who said "if notice that i'm 'talking' too much with my hands it means i dont understand what i'm talking about"
so, both first speakars were "hand - talkers"... Period.
This is both a stupid AND mean thing to say; some people just gesticulate. Some people gesticulate even more when they're nervous. These 3 are all clearly intelligent & knowledgeable in a topic they're kindly sharing out to the rest of mankind. It's a cowardly thing for you to do to, to cover-up what is probably insecurity on your part for not understanding the video series, with a second-hand comment from someone, this "smart guy who once told you", who seems to be a bloviating pseudo-intellectual.
Be a better person than this.
thank you