Lost it at 8:30 "If I need to use a word of two or more syllables I must first define". It went back and checked the beginning and this is exactly what he did. This is brilliant and simple for conveying many subtle and powerful points/
This, explaining few concepts in a such pseudo-formalistic way, is worth to do if the author spoke with non-programmers (or, not software developers); and then those persons would hardly able to understand him; otherwise they were programmers in the first place. But> explaining such basic things in PL theory to programmers means forcibly put them into deepest boredom because of all this nonsense of pseudo-information of defining new useless language - not a programming language (PL)
for those who are new to this talk - it starts off weird but becomes clear at 8:53. hang in there, itll pay off btw - took some notes here to save my future self some time dev.to/swyx/notes-on-growing-a-language-by-guy-steele-5501
He leaves defining "garbage collection" in single-syllable words as an exercise for the listener. Here's my go. "Garbage collection" means ways to find and free space filled with things you don't need so you will have space to put new things that you might need.
41:01 "Meta = Means you step back from your own place. What you used to do is now what you see. What you were is now what you act on. Verbs turn to nouns. What you used to think of as a pattern is now treated as a thing to put into a slot of an other pattern. A meta-foo is a foo in whose slots you can put parts of a foo." My reflection: Named functions = "Verbs turn to nouns" = Patterns of behavior extracted to named functions. So that "What you used to do is now what you see." Function composition (treating functions as first-class citizens of the language) = "What you used to think of as a pattern is now treated as a thing to put into a slot of an other pattern." Lambda functions = Meta-foo = "A meta-foo is a foo in whose slots you can put parts of a foo." = My definition of Lambda is 'A thing that can make a new thing of its own kind, from things of its own kind.'
This is more relevant today than it was 20 years ago. His insights apply directly as the fundamental building blocks of computing infrastructure move towards open source projects.
Please fix this. This video used to be at Google Videos. Now this is the only version of this great talk I could find, and SOMEBODY FLIPPING BROKE IT! In a talk about language and definitions it is pretty terrible that some words are skipped all the way throughout the talk.
Masterful talk. Thankfully, with retrospect, there's no reason to believe in the possibility he proposes at 43:30. A popular/successful language is just "what is commonly agreed-upon as useful", and will constantly be redefined in those terms (particularly natural languages, but also programming languages). I reckon the ideal scenario is that we end up with a tree of useful languages, where the languages closer to the 'trunk' (base axioms) are more generally useful, and those on the branches are more niche/domain-specific, but the branched languages are supersets of their ancestor languages. I.e. if you need more niche/specific language to model a problem, use it, but it should be derived as newly minted clauses of a perfectly consistent ancestor language.
Didn't really go in the direction he wanted... They did add generics, but still no value types (which might be in Java 10...) and no operator overloading.
This video was shared as a critique of Golang. For context, the person sharing the link is a very skilled functional programmer in Haskell, as far as I know, so that speaks a lot as well. They are also a proponent of Rust.
This is amazing. Cite: This is the text of a talk I once gave, but with a few bugs fixed here and there, and a phrase or two changed to make my thoughts more clear: www.cs.virginia.edu/~evans/cs655/readings/steele.pdf
Well his definition of a Cathedral is not right. We have a cathedral here in the City with more than 1000 years history. And since it's initial design, lots of designers added parts to the church that blended in like if they were part of the original design. It that sense it is much more like his definition of a Bazaar. But apart from that, it really is a great talk. And I think if he had more saying in the Java Language, Java might have become a better Language today.
His definition of person is also misguided, it missed people who are not men or women. I think his point isn't about the words he's defining, but the tools with which he is doing it (i.e. a small language)
Lost it at 8:30 "If I need to use a word of two or more syllables I must first define". It went back and checked the beginning and this is exactly what he did. This is brilliant and simple for conveying many subtle and powerful points/
This, explaining few concepts in a such pseudo-formalistic way, is worth to do if the author spoke with non-programmers (or, not software developers); and then those persons would hardly able to understand him; otherwise they were programmers in the first place.
But> explaining such basic things in PL theory to programmers means forcibly put them into deepest boredom because of all this nonsense of pseudo-information of defining new useless language - not a programming language (PL)
When I realised that his rules were accurate, it blew my mind.
For anyone bothered by the skipping, the upload from the Computer History Museum doesnt have that fault. :)
for those who are new to this talk - it starts off weird but becomes clear at 8:53. hang in there, itll pay off
btw - took some notes here to save my future self some time dev.to/swyx/notes-on-growing-a-language-by-guy-steele-5501
That is one of the best web see/hear things I have seen up till now.
He leaves defining "garbage collection" in single-syllable words as an exercise for the listener. Here's my go. "Garbage collection" means ways to find and free space filled with things you don't need so you will have space to put new things that you might need.
Lambda ?
@@nullvoid12 In monosyllables?
A kind of thing that you can give some things of that same kind and get back (if it halts) one thing of that same kind.
@@mikevsamuel following up comments from two years ago, well done
How a computer can match human slow thought? :-)
@@nullvoid12 Lambda - A thing that can make a new thing of its own kind, from things of its own kind.
A wonderful talk for understanding programming languages, and why there are so many of them and why they have the different features that they have.
A timeless classic
wish i had watched this sooner; thought-provoking and WONDERFUL talk!
I love his definition of meta.
For people like me who search for said definition in the talk: it's at 41:01.
41:01 "Meta = Means you step back from your own place. What you used to do is now what you see. What you were is now what you act on. Verbs turn to nouns. What you used to think of as a pattern is now treated as a thing to put into a slot of an other pattern. A meta-foo is a foo in whose slots you can put parts of a foo."
My reflection:
Named functions = "Verbs turn to nouns" = Patterns of behavior extracted to named functions. So that "What you used to do is now what you see."
Function composition (treating functions as first-class citizens of the language) = "What you used to think of as a pattern is now treated as a thing to put into a slot of an other pattern."
Lambda functions = Meta-foo = "A meta-foo is a foo in whose slots you can put parts of a foo." = My definition of Lambda is 'A thing that can make a new thing of its own kind, from things of its own kind.'
And now a new meaning of meta..
One of the best presentations I ever saw (it was even more impressive to see it live).
showoff ;)
You saw this live? Wow
This talk is so great that I got to watch it for my programming language course
This is more relevant today than it was 20 years ago. His insights apply directly as the fundamental building blocks of computing infrastructure move towards open source projects.
I don't normally comment, but this is a must view video for all people who do programming for living or hobby.
I loved it wheh he said: "There is more than one way to do it".
This is amazing! I love the tact used. Just wow.
One of the best videos I have ever seen
KAIST PL class brought me here.
lol
How is that course? I'm thinking about taking it.
@@ulugbekabdullaev1774 It's pretty good, one of the lectures that is praised by most of students.
@@nuang-ee thanks :-) but I anyway ended up at EPFL
@@nuang-ee Hi, seems like you had a great time attending to that course.
Evers so relevant and timeless.
Please fix this. This video used to be at Google Videos. Now this is the only version of this great talk I could find, and SOMEBODY FLIPPING BROKE IT! In a talk about language and definitions it is pretty terrible that some words are skipped all the way throughout the talk.
Masterful talk. Thankfully, with retrospect, there's no reason to believe in the possibility he proposes at 43:30. A popular/successful language is just "what is commonly agreed-upon as useful", and will constantly be redefined in those terms (particularly natural languages, but also programming languages). I reckon the ideal scenario is that we end up with a tree of useful languages, where the languages closer to the 'trunk' (base axioms) are more generally useful, and those on the branches are more niche/domain-specific, but the branched languages are supersets of their ancestor languages. I.e. if you need more niche/specific language to model a problem, use it, but it should be derived as newly minted clauses of a perfectly consistent ancestor language.
Next level: This talk in Toki Pona.
It's great even if we watch it today. Plan for growth, plan for warts and keep it short
It's an interesting talk. I enjoyed watching this.
ah, short words, that's truly a thing java is known for.
:D
great talk though!
What is the opera singing during the intro?
Why is the word Gosling silenced? I could hear only Gos----
Hi Bill do you know who owns the copyright on this audio? I'm interested in discussing it in a podcast.
Found a version of this talk without the audio cut-outs: ruclips.net/video/lw6TaiXzHAE/видео.html
That was some sick as hell music at the end there. Anybody know where it's from? ❤️
What's with all the half sentence cuts?
Yes, they are so annoying. I had to read text of speech with the video. Hope something can be done with it.
Tape recording skipping
A meta talk about the meta of all languages. Dead on.
16:20 Oof, I wonder what Guy Steele would say about C++ today.
Why oof? He said it C grew to be a bigger language that turned into C++. C++ is still a big language and keeps growing.
This was fun to listen to
Ah yes, the tea at OOPSLA in Vancouver in 1998 was very good.
Has Java grown just a little since then, as he hoped? Or did it continue growing by a lot?
Didn't really go in the direction he wanted... They did add generics, but still no value types (which might be in Java 10...) and no operator overloading.
He mentioned a world where every kid learns programming in elementary school. It's 2016 and we still haven't gotten there...
2020, still nothing
18:11 Herein lies the core of the problem. We willfully let systems explode in complexity.
It's sad that only one of the proposed Java features actually made it to the language, the rest being in and making C# better.
Thanks for this
Epic
that was insane!
guy, why does traditional cs run from sets?
This video was shared as a critique of Golang. For context, the person sharing the link is a very skilled functional programmer in Haskell, as far as I know, so that speaks a lot as well. They are also a proponent of Rust.
PL 과제 때문에 영상 보러온 사람 손!
Makes me want to talk more good. Bester. What means bett?
lol that intro music
still relevant today
It is timeless
This is amazing.
Cite: This is the text of a talk I once gave, but with a few bugs fixed here and there, and a phrase or two changed to make my thoughts more clear: www.cs.virginia.edu/~evans/cs655/readings/steele.pdf
thank you! having the text of the talk helped a lot in the bits here and there where the audio skipped.
Amazing
epic!
GOOD
Best lecture
There are still reasons to prefer small langauges..
The talk is great. The background music is horrible.
45:39 ways for a user to define nudes
41:07 Meta
21:08
ruclips.net/video/_ahvzDzKdB0/видео.html
words of one syllable !!!
its jerky and skips... ?
sounds like a dog I once knew
Too many edits! great Video however!
Who else came here from PLC
Buddy what is PLC?
too good...
sux nobody bothers to talk this way, in this year of the age
Funniest intro song ever.
Well his definition of a Cathedral is not right. We have a cathedral here in the City with more than 1000 years history. And since it's initial design, lots of designers added parts to the church that blended in like if they were part of the original design. It that sense it is much more like his definition of a Bazaar. But apart from that, it really is a great talk. And I think if he had more saying in the Java Language, Java might have become a better Language today.
His definition of person is also misguided, it missed people who are not men or women. I think his point isn't about the words he's defining, but the tools with which he is doing it (i.e. a small language)
@@jpratt8676 You also realize this talk is from the 90s, right?
I think you commented too early:
29:44 "And point of fact, a number of cathedrals were built in the bazaar mode."
In 100 years AI will probably be programming. Not humans
AIs are already programming, but humans are too and I expect this will be the case for a long time.
Who edited this? A butcher?
Tape degradation?
Garbage collection: Wrong solution to half the problem.
Depends on what you identify as "the problem".
Luckily Java didn't get operator overloading and maintenance nightmares that come with it.
The S. J. W.s (read "W" "dub") have made me so I could not not say this at the time one and ten plus one.
The word they had not been rediscovered yet
Of course there had to be a dumbass comment like this here.