HackerTube

Growing a Language, by Guy Steele

Bill Pugh11 HN recommenders · recommended in 10 months, 2014–2026
YouTube
talk · intermediate · evergreen · 2014–2026 on HN

Guy Steele's 1998 OOPSLA keynote on designing a programming language that its users can grow. He builds the talk using only one-syllable words and terms he has defined, to demonstrate the idea.

HN considers it one of the best technical talks ever and cites it in discussions of language design, small cores and extensibility.

12 comments from Hacker News

@kaba02022-04 · in “Lies we tell ourselves to keep using Golang”

This is probably the best talk ever on the general topic: ▶ this video [Growing a language by Guy Steele], seriously give it a look if you have the time and do put up with the seemingly strange start. But at around the end it asks this (paraphrasing): Should a language have complex numbers implemented natively? Should it have numbers module n implemented natively? What about intervals, or rational numbers? I also dislike the ridiculous overloading of cryptic symbols, but neither extreme is good. Not allowing overloading will give you BigDecimal.of(3).add(BigDecimal.ONE).divide… , while allowing it unrestricted will give you things like msg #!! something. But perhaps a sane middle ground is to allow only basic operators (+,-,*,/) to be overloadable.

Strongly recommends View on HN
@pfarrell2020-03 · in “Lisp: Good News, Bad News, How to Win Big (1991)”

Haven’t read it but remembered this paper being mentioned in Guy Steele’s fabulous “Growing a language” talk [0]. I don’t want to give anything away about the talk (which is one of my absolute favorites), but Steele says about the title of this paper: “... the truth is that Dick Gabriel knew how to choose words with punch“ 0: ▶ this video

Strongly recommends View on HN
@gnaritas2017-08 · in “Ask HN: What is your favorite CS paper?”

Not a paper, but one of my favorite talks ▶ this video Growing a Language by Guy Steele (co-inventory of Scheme). Brilliant speech about how to grow languages and why it's necessary. Languages that can be grown by the programmer, like Lisp or Smalltalk are better than languages that fixed like most others, this is why.

Strongly recommends View on HN
@tikhonj2015-06 · in “The Tragedy of the Common Lisp, Or, Why Large Languages Explode”

He gave a brilliant talk about it: "Growing a Language"[1]. The idea is to make languages that grow —ones that provide a small, uniform core that can be extended by the user. Ideally, these extensions feel like first-class citizens: things added by users should feel on par with built-in language features. It's still one of the best technical talks I've ever come across. [1]: ▶ this video

Strongly recommends View on HN
@NiloCK2025-12 · in “Show HN: Learning a Language Using Only Words You Know”

Enjoyers of this concept would probably like this wonderful talk about programming language design by Guy Steele (Sun, Java Language): Growing a Language ▶ this video

Recommends View on HN