Skip to content
HHackerTube.videoSurprise me

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

2017 ACM PPoPP Keynote: It's Time for a New Old Language on HackerTube: recommended by 3 Hacker News commenters across 4 separate months, 2018–2023.

Guy Steele

talk · intermediate · evergreen

Open on YouTube

Guy Steele's PPoPP 2017 keynote surveying the history of computer science metanotation, including BNF, inference rules, and overline notation. He argues the field's notations are inconsistent and fragmented.

Why Hacker News recommends it

HN recommends it as an excellent talk on notation problems, useful when reading papers or designing a new metalanguage.

people recommended it
3
separate months
4
strong recommendations
0
discussed on HN
2018–2023
“an excellent talk by Guy Steele that goes over issue of notation and balkanization”
— seg_lol, Oct 2020, in “Programming language notation is a barrier to entry”

What HN commenters said

4 Hacker News comments link this video. Each one links back to its thread.

porcodaFeb 2023Recommends

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: ▶ this video If you search for the talk title you can find the PDF of the slides.

in “Ask HN: Please Review My Metalanguage” · View on HN

seg_lolOct 2020Recommends

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 Steele that goes over issue of notation and balkanization titled, "It's Time for a New Old Language" where he outlines "the history and current status of computer science metanotation". [2] Notation, like syntax is important, but like a plethora of ill defined and specified Domain Specific Languages (DSL), notation also needs to be defined, regular and learnable. For notation takes words and turns them into pictures that compose into thought structures that cannot be expressed in human written language to the same specificity. Think Feynman [3] and Railroad [4] Diagrams, or musical notation [5] The abstract explains it beautifully, > The most popular programming language in computer science has no compiler or interpreter. Its definition is not written down in any one place. It has changed

in “Programming language notation is a barrier to entry” · View on HN

chubotAug 2020Recommends

(Nice to see your work shared here :) ) I went through the corresponding videos last year: [link] [link] It was a great refresher as someone who once liked math but hasn't done much of it in ~20 years :) I had seen the blog posts, 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 ▶ 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 negatively motivated by false positives in ShellCheck [link] ) I would like to go further in that direction, but getting the basic functionality and performance up to par has taken up essentially 100% of the time so far :-( My use of Zephyr ASDL was also partly motivated by some vague desire to get the AST into OCaml. However I haven't used OCaml in quite awhile and I get hung up on small things like writing a serializer and deserializer. I don't want to do it for every type/schema, so it requires some kind of reflection. And my understanding is that there are a bunch of pac

in “Formulog: ML + Datalog + SMT” · View on HN

chubotJan 2018Recommends

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. ▶ 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 / related to "liveness and safety" in distributed algorithms? It sounds like the same kind of idea.

in “A practitioner’s guide to reading programming languages papers” · View on HN

Topics & tags