Talk about having a great amount of humility. He wrote what many consider the best textbook on programming of all time, and he understood that it wasn't appropriate for the times. So much respect for this man
I'm studying the SICP video series of this great man here: ruclips.net/video/-J_xL4IGhJA/видео.html and all of a sudden see the same great man 40y older. What an odd feeling...
Empirically exploring how a black box component part behaves and can be used, rather than understanding it from the fundamentals up, is increasingly relevant as AI systems are incorporated as component parts of applications. To Sussman's point, this has been true for a long time since component parts became too complex for one person or one team to understand top to bottom. While I wish for essential simplicity, it's hard to disagree this is the right emphasis.
So the goal of MIT's 4 course into to EECS and SICP before 1997 was merely to move robots around? And the new and improved paradigm for doing engineering at MIT is to use trial and error to find the right mix of Python functions to do the same thing today, but now, without understanding how it got there?
Prior to 1997 the 4 courses had the coherent structure mentioned at the beginning: 6.001 SICP, 6.002 Circuits, 6.003 Signals & Systems, 6.004 Computer Architecture. Yes, there were robotics classes (e.g. the 6.270 Autonomous Robot Design Competition taught during the January session) also available. Starting 1997 is when the shift to Python and the introduction of robot design and programming in the class that replaced 6.001 began.
Sussman's explanation there, as you point out, is actually a justification of pseudoscience, not rigorous empiricism. As a trend technologically and pedagogically, it leaves something to be desired.
@@mjlnr It's really demoralizing. Basically telling us "You can no longer do things correctly as our forefathers would have; you need to poke and hack at things with no expectation until they spontaneously begin to work."
@@mjlnr There is a deep mistake in that thinking. You have presented a dilemma wherein knowledge of a system stands at odds to the scientific method. This is a false dichotomy. Systematic knowledge, or what has been called "pseudoscience" here, is required to create a scientific hypothesis and to produce a theory. It operates at a lower, more foundational level than empiricism. A similar mistake is that this stance equates empiricism with knowledge. Empiricism creates data which leads to knowledge, but empiricism is not in itself knowledge. The empirical process provides data, which is then built on top of through introspection. There are faster and better ways to achieve knowledge than the scientific method when programming. Software is not some kind of natural resource, after all. The theory and practice of programming is created by people. Using the scientific method to re-discover existing computational proofs would end up being a painstaking, slow, and inaccurate way of coming to the same conclusions that direct reflection on the rules of computation would give you.
Maybe worth pointing out that Berkeley’s intro to CS course is taught in Python using an online textbook that is adapted with permission from SICP! That is probably a good place to start, before you delve into function calls from the huge standard library and thousands of open source Python packages.
"For reasons no one understands Python aquired a massive library of stuff you can do"... The guy who invented Python Guido did research on what stuff was easy to understand and read in programming and they made it so that Python only has one "obvious" way to do things, and that Python wasn't powerful enough to have macros (although you could use Hy with Python to have macros). Python also had a massive standard library that was battery included ala Java. This meant that Python's community didn't fracture. Python people tended to focus on using libraries to do stuff rather than trying to do advanced LISP stuff.
Modern Python is very much in the same vain as the SICP philosophy though. It's about making a large thing out of smaller things, just with less transparency. Most sophisticated Python programs start with a staggering number of import statements and those smaller modules are then glued together to build a larger program.
Python can do things easier in prototyping, but it's the different "easy" from what Scheme was introduced. You can do easy things with Python because you ignore the implementation of the library. While the easy in Scheme is to implement the same things but ingnore the low-level details. Think about Scheme only skip few layers, but Python skip much more. For Python, it is not the "hidden" behind the abstract. It's the blackbox for prototyping. For Scheme, we care about and be able to control the abstract easily. That's why it's a little hard to simply compare these two languages to a people without a background of CS.
Год назад
Yes, they are really two very different languages. Indeed, two different philosophies of how to get things done.
SICP is the best programming course, and schema is the best programming language. And python is shit, and it doesn't matter how many libraries are written to it.
So unfortunately I cannot speak this language :( What's the issue? Does the famed SICP book need to be rewritten for Python or something? Why is it that Python is still unable to be used for mobile apps or other weird spaces? Has anything been done to make this happen?
Why? Just why would you use python on mobile devices? There's a framework in python for building mobile apps, it's not very popular and I don't see a point in it. We have lots of other options, and if you want high-level language for building small-scale apps there's react native and other JS tools, which would be a faster than python, but nowhere near more native solutions.
@@RueGoG mhm gud points Why? Just simply to have the joy of programming more things in the lovely Python way. But I suspect you know this answer already. I didn't even have to answer it.
Год назад+1
If you want a kind of a "Phyton version" of SICP, please see: Composing Programs (www.composingprograms.com/). It's the textbook for the "CS 61A: Structure and Interpretation of Computer Programs" course at Berkeley. They are using Python to teach SICP, so they made a Python version of SICP (and it's freely available on that link).
In an era where people want to spend an hour or two being wrong in depth it's good to see someone brave enough to show how wrong they can be in just 7 minutes.
Talk about having a great amount of humility. He wrote what many consider the best textbook on programming of all time, and he understood that it wasn't appropriate for the times. So much respect for this man
Unbelievable!
What a man! A piece of history for real.
Thanks for sharing!
Muito bom esse vídeo legendado, obrigada!
I'm studying the SICP video series of this great man here: ruclips.net/video/-J_xL4IGhJA/видео.html
and all of a sudden see the same great man 40y older. What an odd feeling...
I remember taking the courses when OCW put them out on their website in the early 2000s
thanks for shareing,it is pretty!
Empirically exploring how a black box component part behaves and can be used, rather than understanding it from the fundamentals up, is increasingly relevant as AI systems are incorporated as component parts of applications. To Sussman's point, this has been true for a long time since component parts became too complex for one person or one team to understand top to bottom. While I wish for essential simplicity, it's hard to disagree this is the right emphasis.
if you have english subtitles too please add it though
I'll try to provide the english subtitles. Thank you.
@ Thank you so much 💌
Autogenerated English subtitles are available. You only have to select them using the configuration snowflake.
So the goal of MIT's 4 course into to EECS and SICP before 1997 was merely to move robots around? And the new and improved paradigm for doing engineering at MIT is to use trial and error to find the right mix of Python functions to do the same thing today, but now, without understanding how it got there?
Prior to 1997 the 4 courses had the coherent structure mentioned at the beginning: 6.001 SICP, 6.002 Circuits, 6.003 Signals & Systems, 6.004 Computer Architecture. Yes, there were robotics classes (e.g. the 6.270 Autonomous Robot Design Competition taught during the January session) also available. Starting 1997 is when the shift to Python and the introduction of robot design and programming in the class that replaced 6.001 began.
Sussman's explanation there, as you point out, is actually a justification of pseudoscience, not rigorous empiricism. As a trend technologically and pedagogically, it leaves something to be desired.
@@mjlnr It's really demoralizing. Basically telling us "You can no longer do things correctly as our forefathers would have; you need to poke and hack at things with no expectation until they spontaneously begin to work."
@@mjlnr There is a deep mistake in that thinking. You have presented a dilemma wherein knowledge of a system stands at odds to the scientific method. This is a false dichotomy. Systematic knowledge, or what has been called "pseudoscience" here, is required to create a scientific hypothesis and to produce a theory. It operates at a lower, more foundational level than empiricism. A similar mistake is that this stance equates empiricism with knowledge. Empiricism creates data which leads to knowledge, but empiricism is not in itself knowledge. The empirical process provides data, which is then built on top of through introspection. There are faster and better ways to achieve knowledge than the scientific method when programming. Software is not some kind of natural resource, after all. The theory and practice of programming is created by people. Using the scientific method to re-discover existing computational proofs would end up being a painstaking, slow, and inaccurate way of coming to the same conclusions that direct reflection on the rules of computation would give you.
Maybe worth pointing out that Berkeley’s intro to CS course is taught in Python using an online textbook that is adapted with permission from SICP! That is probably a good place to start, before you delve into function calls from the huge standard library and thousands of open source Python packages.
Most are not interested in programming. They want to produce software that works and due to this they are missing out on 99% of the magic techniques.
"For reasons no one understands Python aquired a massive library of stuff you can do"... The guy who invented Python Guido did research on what stuff was easy to understand and read in programming and they made it so that Python only has one "obvious" way to do things, and that Python wasn't powerful enough to have macros (although you could use Hy with Python to have macros). Python also had a massive standard library that was battery included ala Java. This meant that Python's community didn't fracture. Python people tended to focus on using libraries to do stuff rather than trying to do advanced LISP stuff.
Modern Python is very much in the same vain as the SICP philosophy though. It's about making a large thing out of smaller things, just with less transparency. Most sophisticated Python programs start with a staggering number of import statements and those smaller modules are then glued together to build a larger program.
Python can do things easier in prototyping, but it's the different "easy" from what Scheme was introduced. You can do easy things with Python because you ignore the implementation of the library. While the easy in Scheme is to implement the same things but ingnore the low-level details. Think about Scheme only skip few layers, but Python skip much more. For Python, it is not the "hidden" behind the abstract. It's the blackbox for prototyping. For Scheme, we care about and be able to control the abstract easily.
That's why it's a little hard to simply compare these two languages to a people without a background of CS.
Yes, they are really two very different languages. Indeed, two different philosophies of how to get things done.
And now times are changing again. Now I don't even have to care about Python, as GPT codes most of it. I just have to direct it appropriately.
SICP is the best programming course, and schema is the best programming language. And python is shit, and it doesn't matter how many libraries are written to it.
Python is fine just not in the same league.
So unfortunately I cannot speak this language :(
What's the issue? Does the famed SICP book need to be rewritten for Python or something?
Why is it that Python is still unable to be used for mobile apps or other weird spaces? Has anything been done to make this happen?
Why? Just why would you use python on mobile devices? There's a framework in python for building mobile apps, it's not very popular and I don't see a point in it. We have lots of other options, and if you want high-level language for building small-scale apps there's react native and other JS tools, which would be a faster than python, but nowhere near more native solutions.
@@RueGoG mhm gud points
Why? Just simply to have the joy of programming more things in the lovely Python way.
But I suspect you know this answer already. I didn't even have to answer it.
If you want a kind of a "Phyton version" of SICP, please see: Composing Programs (www.composingprograms.com/). It's the textbook for the "CS 61A: Structure and Interpretation of Computer Programs" course at Berkeley. They are using Python to teach SICP, so they made a Python version of SICP (and it's freely available on that link).
In an era where people want to spend an hour or two being wrong in depth it's good to see someone brave enough to show how wrong they can be in just 7 minutes.
"ok?"
I hope no one is confused about why python is so well loved. The fact that pythonic is a synonym for beauty is highly suggestive.
Nope.
Yes syntactic white space was a great move, you can really understand the structure of other people’s code just by understanding indentation.
@@alessandrorossi1294 Naw.
Pythonic is not a synonym for beauty.
He is old😭