swyxio / swyxdotio

This is the repo for swyx's blog - Blog content is created in github issues, then posted on swyx.io as blog pages! Comment/watch to follow along my blog within GitHub
https://swyx.io
MIT License
336 stars 45 forks source link

Notes on "Growing a Language" #337

Closed swyxio closed 2 years ago

swyxio commented 2 years ago

source: devto devToUrl: "https://dev.to/swyx/notes-on-growing-a-language-by-guy-steele-5501" devToReactions: 13 devToReadingTime: 12 devToPublishedAt: "2020-07-28T20:50:13.238Z" devToViewsCount: 520 title: Notes on "Growing a Language" published: true description: Revisiting one of my favorite talks ever, on designing programming languages for user extensibility and collaboration canonical_url: https://www.swyx.io/notes-on-growing-a-language-by-guy-steele-5501/ cover_image: http://i3.ytimg.com/vi/_ahvzDzKdB0/hqdefault.jpg tags: Reflections

One of the talks in my Lindy Library (from the Lindy effect which I discussed in my book) is "Growing a Language", by Guy Steele:

If you care enough about programming languages (and every framework, every library has aspects of a language), you come to care intensely about programming language design. This is one of the few accessible, entertaining talks that tackles this head on.

I'm watching it again in preparation for an upcoming talk so here are my public notes.

Core Points

Raw Notes

⚠️ Note - a lot of these are lifted verbatim from the transcript as I am just doing a first pass of notes right now.

Cathedral vs Bazaar

HIGH POINT OF THE TALK: The Importance of Patterns

Going Meta

Plan for Warts

Natural Languages