Skip to content
0:00 / 0:00

#java#scheme#extensibility

OOPSLA Conference: Growing a Language

Computer History Museum

180K subscribers • 29 videos on Hallway

YouTube
  • Recommended by 7 people: 6 on Hacker News and 1 in engineering communities.
  • A classic. People kept recommending it from 2020 to 2026.
  • Presented by Guy Steele
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

24K views6 years ago7 recommendations

Programming languagesLanguage design and type systems

Guy Steele explains why programming languages must be designed to grow over time with their user communities, delivering the talk using only monosyllabic words initially.

[Recorded on October 1998] From University Video Communications' catalog: "Over the last quarter-century Guy Steele has been convinced that trying to design a complete and perfect programming language is the worst thing you can do. A programming language (including its associated libraries) must grow over time as its user community and its development community grow. This is a different situation from 25 years ago, when all such communities were relatively small. The difference is a problem of scale. As a result, programming language design now and in the future is necessarily as much a matter of social engineering as technical engineering and must rely more on a set of general principles than on a set of specific technical decisions." Catalog number: 102706476 Lot number: X6636.2013

Why it's here

7 people recommend this

What people say. Recommended as a classic, excellent talk on programming language design and extensibility.

Moments people linked to

nfozon Hacker News • Recommends

On “In defense of complicated programming languages”

In case anyone hasn't seen this most excellent talk on this topic, I highly recommend: Guy Steele - Growing a Language (OOPSLA '98) link to this video

MrDOSon Hacker News • Recommends

On “The Up-Goer Five Text Editor”

This is an excellent talk, and exactly where my mind went, too. I might suggest watching this upload of it instead, to avoid capture errors in the older upload: link to this video

u/arthurno1in r/ProgrammingLanguages • Recommends

Growing a Language

jdontillmanon Hacker News • Recommends

On “Growing a Language (1998) [video]”

For some reason that version has a large number of audio glitches. But very recently the Computer History Museum published a cleaned-up version: link to this video Good!

pfarrellon Hacker News • Recommends

On “Fred Brooks has died”

Not writing, but I have found all of Brett Victor's speeches to be incredibly inspiring on how I think about what I want to work on and where we're going. Inventing on Principle by Brett Victor: link Growing a Language by Guy Steele: link to this video We Really Don't Know How to Compute! by Gerald Sussman: link

craftuseron Hacker News • Recommends

On “How Big Should a Programming Language Be?”

This Guy Steele talk is related to this topic: link to this video A good watch for the fine people in this thread (and please ignore explicit or implied linkages to Java--it's full of the broad concepts, not narrowly JVM stuff)

pohlon Hacker News • Recommends

On “A Forlorn Hope of Fortran Modernisation”

It’s a tragedy. I feel the work they were doing was important. At least we got this talk from guy steele link to this video

u/metazipin r/ProgrammingLanguages • Mentions

On “What features would you want in a new programming language?”

Growing a Language - starts off weird, but is quite informative.

ghowardon Hacker News • Mentions

On “Ask HN: If you designed a new programming language, what would its features be?”

Funny you ask that, because I am making a programming language! (1) Structured concurrency, best explained at 1, 2, 3, and 4. More on this later. (2) Extensibility. Most people think that this means macros. It doesn't. However it's done, as curryst said, languages are not perfect, and extending a language is important. See "Growing a Language" by Guy Steele, Jr. 5 More on this later. (3) Like many other posts, having real-world units like feet, meters, pounds, kilograms, etc., for calculations and type checking, but the default number type should also be a BigRational. (4) Ranged types, like Ada, allowing programmers to explicitly limit the range a type can be, eliminating errors.…

j-pbon Hacker News • Mentions

On “What memory model should Rust use?”

The shallowness of rusts correctness has pretty much killed my interest in it. Much of its purported virtue seems to be mostly lore and myth, and doesn't keep its promises under close inspection and scrutiny. For example the "Rustonomicon" is only half finished and doesn't have that much real insight that couldn't be gained from a lot of basic-ish rust tutorials. The memory model is not propery defined and only kinda sorta borrowed from C++ as the article mentions. The borrow checker has only been formally specified and veryfied in a much simplified form and only very recently 2 ,with the actual model "just being what the borrow checker implementation does". Having a fancy datalog based bo…

j-pbon Hacker News • Mentions

On “Zig Package Manager MVP”

Really feels like the project is spreading itself too thin. There are existing community build Package Managers for Zig. It's weird to start replacing things that are good enough™, while core stuff like the languag and compiler is not even ready for hobby projects. The zig folks should really have this talk running on a loop: link to this video

gavinhowardon Hacker News • Mentions

On “We Need to Know LR and Recursive Descent Parsing Techniques”

> What do more experienced people here think of that? "Experienced" person here. I've done a parser generator grammar or two. I've implemented several parsers. I mostly agree, but it depends on your use case. Most people writing parsers are doing so for a bespoke language, usually for config of an internal-use-only program or something like that. Such parsers won't be great, but they will work for people that: 1. Know the language, or 2. Are expected to know the language. In that case, I agree with Guy Steele. Why these two caveats? Because as people have said, error reporting from the parser will be subpar. This includes hand-written recursive descent ones. So knowing the language is import…

gavinhowardon Hacker News • Mentions

On “A decade of developing a programming language”

As someone who has been designing a language since late 2012 (and it's about to have its first public release early next year O.o), here are some thoughts. Avoid gradual typing : Absolutely. I had gradual typing and abandoned it. Gradual typing is not as good as simple Go-like inference, and that simple inference is easy to implement and takes care of 95% of the "problem." However, you also need one or more dynamic typing escape hatches. When I implemented a config file format by tweaking JSON, I had to implement dynamic typing in C. Avoid self-hosting your compiler : It depends. You probably should avoid it by default, unless your language is just so much better than the original. Rust is a…

teraflopon Hacker News • Mentions

On “Aesop in Words of One Syllable”

Neat. I wonder if this was an inspiration for Guy Steele's famous "Growing a Language" talk, or if he came up with the same idea independently. link to this video

another-daveon Hacker News • Mentions

On “Loreline – Tools for writing interactive fiction”

Always reminds me of Guy Steele's "Growing a Language" talk - link to this video Think it's a great fit for IF alright.

u/arthurno1in r/ProgrammingLanguages • Mentions

On “On the computational abilities of natural languages.”

I don't know, I am probably wrong about thos, but to me as a layman, English odd spelling rules like a consequence of English being stitched together fron languages from different periods and cultures. Also, I think the most common words are short in probably all languages, because they are partly used a lot and partly probably because they are very old and got through many simplifications over time. Newer words are often longer not because they are more important but because they perhaps describe things, phenomenons, and actions of more complex nature, or because they are new and are not simplified. With simplification, I mean words so common, so they are abbreviated in everyday speech o…