July 17th, 2024

A brief interview with Awk creator Dr. Brian Kernighan

Dr. Brian Kernighan, a prominent computer scientist, emphasized the importance of associative arrays in Awk, designing small programming languages for beginners, and automating tasks through simple language designs. His insights influence programming education.

Read original articleLink Icon
InterviewsAdmirationNostalgia
A brief interview with Awk creator Dr. Brian Kernighan

Dr. Brian Kernighan, a Canadian computer scientist known for his work on UNIX and co-authoring "The C Programming Language," shared insights in a recent interview. He highlighted the significance of associative arrays in Awk and the pattern-action paradigm. Kernighan emphasized the value of designing small, specialized programming languages for beginners, suggesting they start with manageable projects before tackling complex languages like Rust or C++. He also mentioned the importance of tools like Yacc and Lex in language development. Kernighan's advice to aspiring language designers is to focus on automating tasks through simple language designs. His contributions to computer science and programming education continue to influence the field, making him a respected figure in the community.

Related

The C Standard charter was updated, now with security principles as well

The C Standard charter was updated, now with security principles as well

The ISO/IEC JTC1/SC22/WG14 committee oversees C Standard development, focusing on portability, efficiency, and stability. Collaboration with the C++ committee ensures compatibility. Principles guide feature integration, code efficiency, security, and adaptability.

Weekend projects: getting silly with C

Weekend projects: getting silly with C

The C programming language's simplicity and expressiveness, despite quirks, influence other languages. Unconventional code structures showcase creativity and flexibility, promoting unique coding practices. Subscription for related content is encouraged.

I Probably Hate Writing Code in Your Favorite Language

I Probably Hate Writing Code in Your Favorite Language

The author critiques popular programming languages like Python and Java, favoring Elixir and Haskell for immutability and functional programming benefits. They emphasize personal language preferences for hobby projects, not sparking conflict.

Brian Kernighan Reflects on "The Practice of Programming" [video]

Brian Kernighan Reflects on "The Practice of Programming" [video]

The YouTube video features author Brian Kernighan discussing "The Practice of Programming" book, programming language development, industry changes, memory management in C/C++, CSV parsing challenges, and computing resources impact on software engineering.

I Hope Rust Does Not Oxidize Everything

I Hope Rust Does Not Oxidize Everything

The author expresses concerns about Rust's widespread adoption in programming, citing issues with syntax, async features, complexity, and long compile times. They advocate for language diversity to prevent monoculture, contrasting Rust with their language Yao.

AI: What people are saying
The comments on the article about Dr. Brian Kernighan highlight various aspects of his career and contributions to computer science.
  • Personal anecdotes and lesser-known facts about Kernighan, including his early exposure to Linux and teaching at Princeton.
  • Recommendations for further reading and interviews, such as Lex Fridman's interview and the book "Masterminds of Programming."
  • Discussions on the significance and evolution of Awk, comparing it to other programming languages and tools.
  • Reflections on Kernighan's broader impact on programming and education, with mentions of his influential books and conferences.
  • Some humorous and critical takes on how Kernighan's contributions are perceived and described.
Link Icon 15 comments
By @gregw2 - 3 months
Little known random Brian Kernighan facts:

* He joined Princeton’s CS department in 2000 but taught at least one class there as early as 1993 while still at Bell Labs Research (on sabbatical?)

* One of his students regularly brought a 386sx laptop (running pre-1.0 Linux) to class and when Brian was asked more obscure questions about what awk did which he couldn’t remember, the student would run commands in awk and feed Brian the definitive implementation answer. So Brian had some exposure to Linux moderately early on.

* Here’s a writeup from him on putting AT&T’s toll free phone directory on the internet back in fall 1994: https://www.cs.princeton.edu/~bwk/800.html

By @rr808 - 3 months
Lex Fridman did a good hour and a half interview with BK if you're interested. https://www.youtube.com/watch?v=O9upVbGSBFo
By @FelipeCortez - 3 months
There's a more comprehensive interview that also includes Aho and Weinberger in the book Masterminds of Programming. Highly recommended
By @kragen - 3 months
i've been reading the unix programming environment from 01983 this week (the old testament of kernighan and pike), about 35 years later than i really should have. awk is really one of the stars of the book, the closest thing in it to currently popular languages like js, lua, python, perl, or tcl. (what awk calls 'associative arrays' js just calls 'objects'.)

the 7th edition unix version of awk from 01979 https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/aw... (from https://www.tuhs.org/Archive/Distributions/Research/Henry_Sp...) is only 2680 lines of source code, which is pretty astonishing. the executable is 46k and ran in the pdp-11's 64k address space. as far as i can tell, that version of awk, and also the one documnted four years later in tupe, didn't even have user-defined functions. neither did the v7 version of the bourne shell, i think

bc, however, did

By @cafard - 3 months
Years ago, somebody had as his Usenet .sig line "perl is margarine, awk is butter" (unless the order was reversed). Whatever Perl's many faults, I used awk a good deal less after I discovered Perl.
By @rswail - 3 months
I own a copy of K&R that is signed by Dr Kernighan from an Australian Unix conference back in the 80s. One of my prized possessions.

That book, along with The Practice of Programming by Kernighan/Pike and Byte magazine etc were my "Stack Overflow" for the 1980s.

By @Zambyte - 3 months
It's interesting to me that he refers to association arrays as "newish", when they showed up in Lisp nearly 20 years earlier.
By @JonChesterfield - 3 months
I'm very taken with the regex to lex to yacc to awk sequence of developments. There's a very convincing sense of building on prior work to achieve more general results.
By @ldjkfkdsjnv - 3 months
People will hate me for saying this, but I bet there are many many repos on github written by programmers that are better than all these coding legends. Back then, it was a much smaller pool.
By @syngrog66 - 3 months
Awk Creator: funny!
By @dfedbeef - 3 months
Very brief
By @kansai - 3 months
Describing the K of K&R as "Awk creator" is like describing Einstein as a "refrigerator engineer".
By @fuzzy_biscuit - 3 months
I know the title said brief, but it still took me by surprise that there were only three questions.