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 articleDr. 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 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
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
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]
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
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.
- 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.
* 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
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
That book, along with The Practice of Programming by Kernighan/Pike and Byte magazine etc were my "Stack Overflow" for the 1980s.
Related
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
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
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]
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
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.