Skip to content
0:00 / 0:00

#guysteele#metanotation#bnf

2017 ACM PPoPP Keynote: It's Time for a New Old Language

Guy Steele

162 subscribers • 1 video on Hallway

YouTube
  • Recommended by 3 people: 3 on Hacker News.
  • A classic. People kept recommending it from 2018 to 2023.
  • Presented by Guy Steele
  • An opinion. It argues one side of a question engineers disagree on.

Advanced. Deep dive for people who know the field.

6.7K views9 years ago3 recommendations

Programming languagesComputer scienceLanguage design and type systemsComputation and complexityFormal methods and verification

Guy Steele surveys the history of computer science metanotation and criticizes the inconsistency and fragmentation in how language semantics are specified.

Keynote address (sound plus slides) of a keynote talk given by Guy Steele on Monday, February 6, 2017, at the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. It surveys the history and current status of computer science metanotation. A shorter version of this talk was given at Harvard University on April 19, 2017, as part of the Celebration of Computer Science at Harvard in honor of Harry Lewis. youtu.be/8fCfkGFF7X8?t=37m46s

Why it's here

3 people recommend this

What people say. Recommended for its insightful critique of programming language notation and the barriers created by inconsistent formalisms.

chuboton Hacker News • Recommends

On “A practitioner’s guide to reading programming languages papers”

This is great! I wish I had seen something like this years ago. Related: "It's Time for a New Old Language" by Guy Steele. link to this video He gives a history of metalanguage notations (for both language semantics and syntax, including regexes and CFGs). And then he criticizes the inconsistency that has cropped up in these notations over the years. The irony is that people who are formalizing precise semantics of programming languages do not agree on the syntax/semantics of the metalanguage. I guess this is what you notice when you read hundreds of programming language papers, as I'm sure Guy Steele has. ----- Also, does anyone know if what he refers to as "progress and preservation" are the same / r…

chuboton Hacker News • Recommends

On “Formulog: ML + Datalog + SMT”

…osts, but there was some "color" in the videos that helped. For example I didn't realize that the fonts sometimes matter! Honestly, I still don't really read the notation, as I haven't had a strong reason to, but I feel it would be useful at some point. ---- For others, I also recommend this 2017 talk by Guy Steele It's Time for a New Old Language link to this video Because even people in the field seem to have problems with the notation. He also was asked about this work a few days ago here and said he was still working on it in the background (being a "completionist"): link ----- FWIW as you know, Oil is more static than shell, and that was largely motivated by tools and static analysis (and negati…

seg_lolon Hacker News • Recommends

On “Programming language notation is a barrier to entry”

Or ideas in general, should we ever gate keep the dissemination of ideas and knowledge? Innovation is more likely to occur when people cross disciplines and they can only do that if it is approachable, it is gradual and discoverable. Simple is hard, simplistic is easy. Someone is going to come back with essential vs accidental complexity 1 but we can always strive for simpler, more cohesive ways to exchange knowledge. How much of our current notation systems are essential? And when do they diverge for non-essential reasons? Computer systems form primarily around notation (language and syntax), so notation is definitely important z In the post the author mentions an excellent talk by Guy…

porcodaon Hacker News • Recommends

On “Ask HN: Please Review My Metalanguage”

You might be interested in Guy Steele’s talk “It’s time for a new old language”. He talks about similar notations and the problem of inventing new ones (although most of his talk is about things other than BNF-like notations : he just talks about them for a bit in the beginning). It’s an interesting talk and is useful in thinking about proposing new notations. YouTube: link to this video If you search for the talk title you can find the PDF of the slides.

u/oilshellin r/ProgrammingLanguages • Mentions

On “A practitioner’s guide to reading programming languages papers”

Related: "It's Time for a New Old Language" by Guy Steele (which may have appeared on this subreddit already) link to this video He gives a history of metalanguage notations (for both language semantics and syntax, including regexes and CFGs). And then he criticizes the inconsistency that has cropped up in these notations over the years. The irony is that people who are formalizing precise semantics of programming languages do not agree on the syntax/semantics of the metalanguage. I guess this is what you notice when you read hundreds of programming language papers, as I'm sure Guy Steele has.

u/agumonkeyin r/compsci • Mentions

On “type checked mathematical notation”

Guy Steele made a talk on the absurd amount of variations in research paper notation and tried to bring some formal checking to it. ps: found the video - link to this video (@ clojure conj) - link to this video (@ ACM PPoPP)

u/pfurlain r/ProgrammingLanguages • Mentions

On “PL Notation is a Barrier to Entry”

Did you watch 2017 ACM PPoPP Keynote: It's Time for a New Old Language? In it Guy Steele surveys hundreds of papers, analyses some trends and suggests some remedies. Also quickly recaps history that led us to the current notations.

u/zokierin r/compsci • Mentions

On “How do I read this? (Implementing an interpreter/compiler)”

This Guy Steele talk helped me understand the notation better: It's Time for a New Old Language

u/johnfrazer783in r/ProgrammingLanguages • Mentions

On “PL Notation is a Barrier to Entry”

Not given that Guy Steele is linked but the fact that Guy Steele did make more than one presentation about exactly this subject—one being at link to this video me quite sure this is a real problem. It really starts with small problems. Years ago I tried to reconstruct an algorithm that was given in symbolic notation and guess what, one of the problems was, "do they assume zero-based or one-based arrays here?". There was no indication in the code or the accompanying text whatsoever. It has been said that Python lends itself well for writing pseudo-code, and I have to agree that using an existing language with documented assumptions should make things clearer to readers. Has anyone ever tried to writ…