Growing a Language, by Guy Steele

Sdílet
Vložit
  • čas přidán 27. 07. 2024
  • Guy Steele's keynote at the 1998 ACM OOPSLA conference on "Growing a Language" discusses the importance of and issues associated with designing a programming language that can be grown by its users.
    ACM OOPSLA conference
    Speaker: Guy L. Steele Jr.
  • Věda a technologie

Komentáře • 113

  • @MatthewPherigo
    @MatthewPherigo Před rokem +3

    For anyone bothered by the skipping, the upload from the Computer History Museum doesnt have that fault. :)

  • @DaddySizeIt
    @DaddySizeIt Před 9 lety +101

    Wow, that was good. Anyone who sees this thinking it may be too old or irrelevant.. it's not. I'd say this is timeless as far as a talk on PL design is concerned.

    • @KristerSvanlund
      @KristerSvanlund Před 9 lety +11

      Yeah! This talk has aged with enormous grace, still very relevant even if he is talking about how the languages in question was back then.

  • @sqeaky8190
    @sqeaky8190 Před 8 lety +47

    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/

    • @MA-channel1
      @MA-channel1 Před 8 měsíci

      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)

    • @Alzter0
      @Alzter0 Před 4 měsíci

      When I realised that his rules were accurate, it blew my mind.

  • @numbakrunch
    @numbakrunch Před 11 lety +12

    That is one of the best web see/hear things I have seen up till now.

  • @ever.silva7
    @ever.silva7 Před 7 lety +7

    A timeless classic

  • @mikevsamuel
    @mikevsamuel Před 6 lety +82

    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.

    • @nullvoid12
      @nullvoid12 Před 4 lety +2

      Lambda ?

    • @mikevsamuel
      @mikevsamuel Před 4 lety +3

      @@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.

    • @signalworks
      @signalworks Před 4 lety +6

      @@mikevsamuel following up comments from two years ago, well done

    • @benjaminscherrey1124
      @benjaminscherrey1124 Před 3 lety

      How a computer can match human slow thought? :-)

    • @magne6049
      @magne6049 Před 3 lety

      @@nullvoid12 Lambda - A thing that can make a new thing of its own kind, from things of its own kind.

  • @pa8w
    @pa8w Před 10 lety +33

    I love his definition of meta.

    • @LukasKalbertodt
      @LukasKalbertodt Před 5 lety +8

      For people like me who search for said definition in the talk: it's at 41:01.

    • @magne6049
      @magne6049 Před 3 lety +1

      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.'

    • @ch272h
      @ch272h Před 2 lety +1

      And now a new meaning of meta..

  • @TonyAiuto
    @TonyAiuto Před 6 lety +8

    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.

  • @fupay
    @fupay Před 7 lety +14

    I don't normally comment, but this is a must view video for all people who do programming for living or hobby.

  • @pasawatviboonsunti9066
    @pasawatviboonsunti9066 Před 2 lety +1

    This talk is so great that I got to watch it for my programming language course

  • @kvtoraman1
    @kvtoraman1 Před 5 lety +75

    KAIST PL class brought me here.

    • @rapinbrook1102
      @rapinbrook1102 Před 5 lety

      lol

    • @ulugbekabdullaev1774
      @ulugbekabdullaev1774 Před 5 lety

      How is that course? I'm thinking about taking it.

    • @nuang-ee
      @nuang-ee Před 4 lety

      @@ulugbekabdullaev1774 It's pretty good, one of the lectures that is praised by most of students.

    • @ulugbekabdullaev1774
      @ulugbekabdullaev1774 Před 4 lety

      @@nuang-ee thanks :-) but I anyway ended up at EPFL

    • @junhapark3071
      @junhapark3071 Před 3 lety +1

      @@nuang-ee Hi, seems like you had a great time attending to that course.

  • @ximono
    @ximono Před 3 lety +3

    Next level: This talk in Toki Pona.

  • @my_two_cents4270
    @my_two_cents4270 Před 7 lety +5

    wish i had watched this sooner; thought-provoking and WONDERFUL talk!

  • @cupajoesir
    @cupajoesir Před 6 lety +4

    This is amazing! I love the tact used. Just wow.

  • @benjiboy1337
    @benjiboy1337 Před 10 lety +8

    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.

  • @bernhardschmalhofer855
    @bernhardschmalhofer855 Před 6 lety +2

    I loved it wheh he said: "There is more than one way to do it".

  • @vincentm99
    @vincentm99 Před 4 lety +1

    One of the best videos I have ever seen

  • @KimMens
    @KimMens Před 10 lety +24

    One of the best presentations I ever saw (it was even more impressive to see it live).

  • @swyxTV
    @swyxTV Před 4 lety +9

    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

  • @GabrielPettier
    @GabrielPettier Před 4 lety +5

    ah, short words, that's truly a thing java is known for.
    :D
    great talk though!

  • @ABW5662
    @ABW5662 Před 2 lety

    Evers so relevant and timeless.

  • @dbarzaga
    @dbarzaga Před 11 lety +2

    It's an interesting talk. I enjoyed watching this.

  • @notgate2624
    @notgate2624 Před 4 lety

    This was fun to listen to

  • @yanxiliu820
    @yanxiliu820 Před 4 lety +3

    It's great even if we watch it today. Plan for growth, plan for warts and keep it short

  • @mckayhba360
    @mckayhba360 Před 2 lety

    Thanks for this

  • @xaris106
    @xaris106 Před 7 lety +1

    that was insane!

  • @Kushtrimm2
    @Kushtrimm2 Před 3 lety +4

    Found a version of this talk without the audio cut-outs: czcams.com/video/lw6TaiXzHAE/video.html

  • @zen-ventzi-marinov
    @zen-ventzi-marinov Před 2 lety

    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.

  • @nanthilrodriguez
    @nanthilrodriguez Před 2 lety

    A meta talk about the meta of all languages. Dead on.

  • @ijoyner
    @ijoyner Před 2 lety

    Ah yes, the tea at OOPSLA in Vancouver in 1998 was very good.

  • @DonCarnage42
    @DonCarnage42 Před 12 lety +18

    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.

  • @sabirove
    @sabirove Před 6 lety +2

    epic!

  • @MitchelHumpherys
    @MitchelHumpherys Před 9 lety +7

    Epic

  • @chrisanderson687
    @chrisanderson687 Před 2 lety

    Amazing

  • @RolySkender
    @RolySkender Před 5 lety +2

    Hi Bill do you know who owns the copyright on this audio? I'm interested in discussing it in a podcast.

  • @tsooooooo
    @tsooooooo Před 5 lety +3

    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.

  • @FreshCodeSoftware
    @FreshCodeSoftware Před 7 lety +4

    What is the opera singing during the intro?

  • @dewinmoonl
    @dewinmoonl Před 10 lety +5

    still relevant today

    • @ximono
      @ximono Před 3 lety

      It is timeless

  • @M000tube
    @M000tube Před 8 lety +2

    lol that intro music

  • @Mawkler
    @Mawkler Před 7 lety +13

    He mentioned a world where every kid learns programming in elementary school. It's 2016 and we still haven't gotten there...

    • @ximono
      @ximono Před 3 lety +2

      2020, still nothing

  • @user-ql6zk3cw4h
    @user-ql6zk3cw4h Před 3 lety +1

    Best lecture

  • @andrewkeenanrichardson5772

    That was some sick as hell music at the end there. Anybody know where it's from? ❤️

  • @CarlosSaltos
    @CarlosSaltos Před 9 lety +2

    GOOD

  • @shantanugadgil
    @shantanugadgil Před 3 lety +1

    Why is the word Gosling silenced? I could hear only Gos----

  • @IllidanS4
    @IllidanS4 Před 4 lety +2

    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.

  • @shmolyneaux
    @shmolyneaux Před 3 lety +2

    16:20 Oof, I wonder what Guy Steele would say about C++ today.

    • @DasAntiNaziBroetchen
      @DasAntiNaziBroetchen Před 2 lety +1

      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.

  • @marionpierce3427
    @marionpierce3427 Před 10 lety +30

    What's with all the half sentence cuts?

    • @anon0non
      @anon0non Před 10 lety +6

      Yes, they are so annoying. I had to read text of speech with the video. Hope something can be done with it.

    • @ebgamer29
      @ebgamer29 Před 7 lety +12

      Tape recording skipping

  • @WernerBroennimann
    @WernerBroennimann Před 10 lety +5

    Has Java grown just a little since then, as he hoped? Or did it continue growing by a lot?

    • @vurpo7080
      @vurpo7080 Před 7 lety +15

      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.

  • @lucasb3h3m0th
    @lucasb3h3m0th Před 5 lety +2

    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

    • @vfigplays
      @vfigplays Před 6 měsíci

      thank you! having the text of the talk helped a lot in the bits here and there where the audio skipped.

  • @psybncc
    @psybncc Před 27 dny

    18:11 Herein lies the core of the problem. We willfully let systems explode in complexity.

  • @johnthescott2409
    @johnthescott2409 Před 9 lety

    guy, why does traditional cs run from sets?

  • @janasouly
    @janasouly Před 10 lety +6

    Makes me want to talk more good. Bester. What means bett?

  • @juancpgo
    @juancpgo Před 6 lety

    Funniest intro song ever.

  • @jan_harald
    @jan_harald Před 6 lety +1

    too good...
    sux nobody bothers to talk this way, in this year of the age

  • @junholee4961
    @junholee4961 Před 2 lety

    There are still reasons to prefer small langauges..

  • @keyboard_toucher
    @keyboard_toucher Před 5 lety +1

    45:39 ways for a user to define nudes

  • @mss5178
    @mss5178 Před 10 lety +9

    Who else came here from PLC

  • @ericleslima6203
    @ericleslima6203 Před 6 lety

    41:07 Meta

  • @lyan942
    @lyan942 Před 5 lety

    The talk is great. The background music is horrible.

  • @AnkanAdhikari
    @AnkanAdhikari Před 10 lety +1

    Too many edits! great Video however!

  • @JasonCunliffe
    @JasonCunliffe Před 4 lety

    21:08
    czcams.com/video/_ahvzDzKdB0/video.html
    words of one syllable !!!

  • @CFHoneyBadger
    @CFHoneyBadger Před 11 lety

    its jerky and skips... ?

  • @Lucretia9000
    @Lucretia9000 Před 4 lety +1

    Who edited this? A butcher?

  • @joeysmith5767
    @joeysmith5767 Před 3 lety +1

    In 100 years AI will probably be programming. Not humans

    • @jpratt8676
      @jpratt8676 Před 2 lety +1

      AIs are already programming, but humans are too and I expect this will be the case for a long time.

  • @krux02
    @krux02 Před 6 lety +3

    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.

    • @jpratt8676
      @jpratt8676 Před 2 lety

      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)

    • @DasAntiNaziBroetchen
      @DasAntiNaziBroetchen Před 2 lety +1

      @@jpratt8676 You also realize this talk is from the 90s, right?

    • @DasAntiNaziBroetchen
      @DasAntiNaziBroetchen Před 2 lety +3

      I think you commented too early:
      29:44 "And point of fact, a number of cathedrals were built in the bazaar mode."

  • @xavierthomas1980
    @xavierthomas1980 Před 5 lety +1

    Garbage collection: Wrong solution to half the problem.

    • @frechjo
      @frechjo Před 4 lety +1

      Depends on what you identify as "the problem".

  • @wiadroman
    @wiadroman Před 4 lety

    Luckily Java didn't get operator overloading and maintenance nightmares that come with it.

  • @NathanTAK
    @NathanTAK Před 7 lety +1

    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.