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.
Why Hacker News points people here: HN cites it as a practical talk on language design and for background on awk from one of its authors.
“This is an excellent talk on designing successful programming language by Brian Kernighan”HN comment, 2022
“This is an excellent talk on designing successful programming language by Brian Kernighan”
Excellent talk on designing successful programming languages, with historical context.
Full comment
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
RecommendschrisfinazzoMay 2018
“There's a great talk by bwk”
Kernighan on how useful language features get abused.
Full comment
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
Recommendsad404b8a372f2b9Dec 2022
“gives good practical advice if you're building a language and talks about his journey with awk”
Practical advice for building a language, plus his journey with awk.
Full comment
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
Cites itbjwbellNov 2015
“Brian Kernighan's recent lecture on language design,”
Kernighan lecture on language design.
Full comment
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.
Cites itruraljurorJan 2016
“Brian Kernighan's talk on How to succeed in language design without really trying [1]”
Kernighan talk on succeeding in language design.
Full comment
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
Cites ittroydjJun 2017
“states that Awk was primarily intended for one-liner usage (he mentions this at 20:43)”
Kernighan says awk was intended for one-liners.
Full comment
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
Cites itreadabledotredFeb 2019
Kernighan on domain specific languages being simpler than general-purpose ones.
Full comment
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
Cites ittroydjOct 2019
“More background on awk from Brian Kernighan in a 2015 talk on language design”
More background on awk from Kernighan.
Full comment
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