Skip to content
0:00 / 0:00

#guysteele#scheme#lisp

Growing a Language, by Guy Steele

Bill Pugh

319 subscribers • 1 video on Hallway

YouTube
  • Recommended by 21 people: 11 on Hacker News, 3 on Lobsters, 4 in engineering communities and 3 curated lists.
  • A classic. People kept recommending it from 2015 to 2025.
  • Presented by Guy L. Steele Jr.
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

164K views14 years ago21 recommendations

Programming languagesSoftware designLanguage design and type systems

Guy Steele delivers a unique keynote using mostly one-syllable words to argue that programming languages should be designed to be grown by their users.

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.

Why it's here

21 people recommend this

What people say. Widely celebrated as one of the best technical talks ever, recommended for its brilliant delivery and insights into language design.

u/pcr910303in r/ProgrammingLanguages • Recommends

Growing a Language, by Guy Steele

zpojqwfejwfhiunzon Lobsters • Recommends

"Growing a Language" talk by Guy Steele (1998) Paper version of this classic presentation: http://www.cs.virginia.edu/~evans/cs655/readings/steele.pdf

u/-elektro-pionir-in r/ProgrammingLanguages • Recommends

"Growing a Language" talk by Guy Steele (1998)

tomjakubowskion Lobsters • Recommends

Growing a Language, by Guy Steele (1998) A picture is a still view of the way some things look. A video is many pictures strung to look like they are moving with sound. Since the video has some cuts and jumps, here is the text of Guy's talk: http://www.cs.virginia.edu/~evans/cs655/readings/steele.pdf

tikhonjon Hacker News • Recommends

On “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: link to this video

gnaritason Hacker News • Recommends

On “Ask HN: What is your favorite CS paper?”

Not a paper, but one of my favorite talks link to 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.

pfarrellon Hacker News • Recommends

On “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: link to this video

kaba0on Hacker News • Recommends

On “Lies we tell ourselves to keep using Golang”

This is probably the best talk ever on the general topic: link to 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 all…

u/voidrefiOS + OS Xin r/swift • Recommends

This made me think a lot about the evolution of The Swift Programming Language

programming-talkscurated list on GitHubRecommends

Under “Software Development”

Growing a Language 00:53:31 by **Guy Steele** (2012)

awesome-talkscurated list on GitHubRecommends

Under “Software Development”

Growing a Language by **Guy Steele** (ACM OOPSLA 1998) 53:30

every-programmer-should-knowcurated list on GitHubRecommends

Under “Architecture”

:movie_camera: Growing a Language

calvinon Lobsters • Recommends

Growing a Language (1998)

gramasaurouson Hacker News • Recommends

On “A Basic Guide for Curious Minds: Review of “Thing Explainer””

Reminds me of this0 talk by Guy Steele where he explicitly defines any word outside of a given set before he can use that term in his speech. Interesting language exercise, definitely worth a watch! 0 link to this video

pixelmonkeyon Hacker News • Recommends

On “For Better or for Worse”

I recently watched Guy Steele's "Growing a Language" talk. It's very much related to jmoiron's post here, and is worth a watch despite its age: link to this video Steele's commentary on "Worse is Better" seems to me to be a better representation of the original essay than the one expressed here about Go. Steele says: "The gist of 'Worse is Better' is that the best way to get a language used by many persons is not to design and build 'The Right Thing,' because that will take too long. In a race, a small language with warts will beat a well designed language because users will not wait for the right thing; they will use the language that is quick and cheap, and put up with the warts. Once a small langu…

skystrifeon Hacker News • Recommends

On “Cleartext: A text editor that only allows the 1,000 most common words in English”

This idea reminds me of an amazing talk by Guy Steele: link to this video He starts the talk by assuming monosyllabic words as his primitives and builds up the words he needs to use to give the talk by providing definitions for them first.