Computer Science - Brian Kernighan on successful language design
University of Nottingham3 HN recommenders · recommended in 2 months, 2015–2022
lecture · general · evergreen · 2015–2022 on HN
Brian Kernighan gives a talk at the University of Nottingham on how to succeed in language design without really trying. He draws on his experience with awk and other languages.
HN cites it as a practical talk on language design and for background on awk from one of its authors.
Up next
5 mo on HN"We Really Don't Know How to Compute!" - Gerald Sussman (2011)
Strange Loop Conference
5 HN recommender · 2022–2026
6 mo on HNNina Teicholz - 'Vegetable Oils: The Unknown Story'
Low Carb Down Under
3 HN recommender · 2018–2023
7 mo on HNWhy It Was Almost Impossible to Make the Blue LED
Veritasium
10 HN recommender · 2024–2026
8 mo on HNAT&T Archives: The UNIX Operating System
AT&T Tech Channel
10 HN recommender · 2013–2026
16 mo on HNHow Python was Shaped by leaky Internals, Armin Ronacher, Flask framework
Видео с мероприятий {speach!
15 HN recommender · 2017–2025
12 mo on HNWhy Isn't Functional Programming the Norm? – Richard Feldman
Metosin
12 HN recommender · 2019–2025
11 mo on HNMaybe Not - Rich Hickey
ClojureTV
14 HN recommender · 2018–2025
10 mo on HNConway's Game Of Life in APL
Dyalog
11 HN recommender · 2010–2024
9 mo on HNLecture 1A | MIT 6.001 Structure and Interpretation, 1986
MIT OpenCourseWare
11 HN recommender · 2012–2024
10 mo on HNCrockford on JavaScript - Volume 1: The Early Years
YUI Library
10 HN recommender · 2013–2022
10 mo on HNGrowing a Language, by Guy Steele
Bill Pugh
11 HN recommender · 2014–2026
10 mo on HNEffective Programs - 10 Years of Clojure - Rich Hickey
ClojureTV
10 HN recommender · 2017–2026
8 comments from Hacker News
This is an excellent talk on designing successful programming language by Brian Kernighan [1]. In the beginning of the lecture he did show a picture of the Tower of Babel depicting plethora programming languages as it's appeared in the cover of Communications of the ACM (CACM) magazine in January 1961 and most of the programming languages mentioned in the article were already there! [1] Brian Kernighan on successful language design: ▶ this video
All talks by Bret Victor are great, they are listed on his websites but they are more concerned with the future of programming than old languages: link On the topic of language design, there is also this talk by Brian Kernighan which gives good practical advice if you're building a language and talks about his journey with awk: ▶ this video
There's a great talk by bwk where he complains about exactly this kind of behavior...before admitting that anything useful in a language will be abused in order to do silly things. ▶ this video I'll admit, I'm no fan of Python, but this has little to do with the language itself. I found Bash and Ruby first, so Python just seems like too much work to get right. Requisite xkcd: link
To really appreciate the need for awk, imagine writing one-liners and scripts in the late 80s where Perl or Python weren't present. The associative arrays in awk were a game changer. Of course, today there is no need to use awk for multi-line, complex scripts because Python or Perl does the job better (and both languages are more scalable). However, awk is still quite useful for one-liners. But for those developers who never use the one-liner paradigm of pipelines on the command line, this is something they don't realize they're missing. Brian Kernighan mentions in the book that awk provides "the most bang for the programming buck of any language--one can learn much of it in 5 or 10 minutes, and typical programs are only a few lines long" [p. 116, UNIX: A History and Memoir]. Also keep in mind Larry Wall's (inventor of Perl) famous quote/signature line: "I still say awk '{print $1}' a lot." More background on awk from Brian Kernighan in a 2015 talk on language design: ▶ this video
Red is not about writing a parser for html, it's about creating DSL. As Brian Kernighan: said "Domain Specific Languages are smaller and simpler than mainstream general purpose #programming languages. That's pretty raisonnable. Thinking of building the next version of C++ not so reasonnable." ▶ this video
I learned Awk in 1988 before Perl was around (on our systems, anyway). It was super useful at the time. But if you know Perl and Perl is available on your system, there's certainly not a compelling need for writing standalone, multi-line Awk programs. But Awk is really, really useful for one-liners. As Larry Wall has said: "I still say awk '{print $1}' a lot." Brian Kernighan himself, in this 2015 talk [1] on language design, states that Awk was primarily intended for one-liner usage (he mentions this at 20:43). [1] ▶ this video
Brian Kernighan's talk on How to succeed in language design without really trying [1] was referenced in his recent interview on the software engineering daily podcast.[2] [1] ▶ this video [2] link
Brian Kernighan's recent lecture on language design, ▶ this video , is an example (not sure if it was on hacker news). I'm working on SIMD in Go and don't want to make avoidable mistakes.