10 ms·
A brief interview with Awk creator Dr. Brian Kernighan (2022)
- fuzzy_biscuit 2y agoI know the title said brief, but it still took me by surprise that there were only three questions.
- phatfish 2y agoNo excuses not to read the whole article before commenting this time!
- deleted 2y ago[deleted]
- kansai 2y agoDescribing the K of K&R as "Awk creator" is like describing Einstein as a "refrigerator engineer".
- overhead4075 2y agoIt's an awk interview. "Awk creator" is relevant.
- midiguy 2y agoI agree it was an incredibly awkward interview
- riiii 2y agoHe didn't say it was irrelevant.
- felideon 2y agoRight, the headline gave the appropriate context for the interview in a short sentence. Not everyone knows Kernighan created awk, as opposed to a respected person that happens to have opinions on awk.
- Gormo 2y agoAWK's name is actually an initialism of the last names of its three creators: Aho, Weinberger, and Kernighan.
- usr1106 2y agoAho, one of the authors of the dragon books. When I studied CS 40 years ago it was given standard literature on compiler construction, a mandatory course. No idea whether it is still used today. Well, no idea whether there is anything fundamentally new in compilers such an old book would not cover.
- ryangs 2y agoIndeed, still in use. Also presumably the Aho of the Aho-Corasick string matching algorithm.
- funemployd 2y agoThere are plenty of advanced compiler techniques, but you can't understand them until you understand the fundamentals. There will always be a place for the purple dragon book.
- usr1106 2y agoAh, it's purple now. It was green when I studied, became red before I graduated. When I search for it now the thumbnails look unfamiliar.
- JohnFen 2y agoWhy do you say that? developing Awk was no less of an accomplishment than C.
- alexthehurst 2y agoThis seems like a rather large claim that would benefit from some kind of supporting argument.
- kragen 2y agoc-descended languages include c++, java, and c# awk-descended languages include perl, tcl, js, python and lua it's a close race but if i had to pick i'd say the second group is more influential
- shawn_w 2y agoMost implementations of that second group of languages are written in C, and run on operating systems written in C. It's really no contest that C has had far more of an influence on computing. So much software would not exist, or not in the forms we recognize, without it.
- kragen 2y agoor at least in c++, c#, or java, sure, smalltalk being the main exception but the layers are somewhat orthogonal. at the verilog level you can't really tell if your hardware is built out of luts, cmos standard cells, hand-laid-out nmos, ttl, or vacuum tubes; at the operating system level you can't really tell if your cpu was designed in vhdl, verilog, chisel, or hand-drawn schematics; at the interpreter level you can't really tell if your operating system was written in c, pl/x, assembly, or lisp; and at the python level you can't really tell if you're running on cpython (which is written in c) or pypy (which is written in python) i mean there are small clues that make it hard to completely hide, but they're subtle so, to my way of thinking, saying 'c has had far more of an influence on computing than awk', on the basis that awk was written in c, is similar to saying 'transistors have had far more of an influence on computing than c'. it's sort of true, but it's also sort of false
- 1234554321a 2y agoHe’s the closest man to C still alive. Yet it’s not really “his” accomplishment. C was created by Ritchie alone, Kernighan only wrote the book.
- aap_ 2y agoI would say Ken Thompson and Steve Johnson are the closer.
- audleman 2y agoI read this comment in the spirit of "you might not have known that K did much more that write awk, but he's a genius." Which I didn't know, so I appreciate the context.
- deleted 2y ago[deleted]
- Zambyte 2y agoIt's interesting to me that he refers to association arrays as "newish", when they showed up in Lisp nearly 20 years earlier.
- chasil 2y agoThis is from the first edition free PDF online of The AWK Programming Language: "Associative arrays were inspired by SNOBOL4 tables, although they are not as general. Awk was born on a slow machine with a small memory, and the properties of arrays were a result of that environment. Restricting subscripts to be strings is one manifestation, as is the restriction to a single dimension (even with syntactic sugar). A more general implementation would allow multi-dimensional arrays, or at least allow arrays to be array elements." Stable release - SNOBOL4 / 1967 https://en.wikipedia.org/wiki/SNOBOL https://en.wikipedia.org/wiki/SNOBOL
- jerf 2y agoTwo things to keep in mind: Pre-internet, it was quite easy to be skilled and knowledgeable and yet never have been exposed to something another community somewhere would consider basic, or for it to take many many years to percolate across. I remember getting into programming even in the 1990s and I can tell you a lot of the C world would still consider associative data structures like a hash table something to be a bit exotic and only to be pulled out if you had no other choice. It was very easy to not be very up to date on these things. Second, while the programming world fancies itself a very fast mover, it really isn't, and it especially wasn't back then. 20 years isn't necessarily as long as you would think in 2024. We're still trying to convince people in 2024 that you really don't need a language that will happily index outside of arrays, and how long has that been a staple in existing languages? (You may think that's silly, but we've had that fight on HN, yes, yea verily, this very year. Granted, this is winding down, but it's still a live argument.) There's a lot of things that showed up in some language in the 1960s or 1970s and wasn't widely adopted for another few decades. (Though I suspect one problem with Lisp is that back in the day, its performance was pretty awful relative to the other things of the day. It was not always the best advertisement for its features. A bit too ahead of its time sometimes.)
- 2y ago
- FelipeCortez 2y agoThere's a more comprehensive interview that also includes Aho and Weinberger in the book Masterminds of Programming. Highly recommended
- chasil 2y agoHis wiki lists several interviews, for those inclined: https://en.wikipedia.org/wiki/Brian_Kernighan https://en.wikipedia.org/wiki/Brian_Kernighan http://www.linuxjournal.com/article/7035 http://www.linuxjournal.com/article/7035 http://www-2.cs.cmu.edu/~mihaib/kernighan-interview/index.html http://www-2.cs.cmu.edu/~mihaib/kernighan-interview/index.ht... https://web.archive.org/web/20090428163341/https://www.princeton.edu/~mike/unixhistory https://web.archive.org/web/20090428163341/https://www.princ... https://web.archive.org/web/20131126220450/http://princetonstartuptv.com/post/49379235060/the-legendary-brian-kernighan-on-teaching-writing https://web.archive.org/web/20131126220450/http://princetons...
- JonChesterfield 2y agoI'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.
- kragen 2y agoi'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/awk https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/aw... (from https://www.tuhs.org/Archive/Distributions/Research/Henry_Spencer_v7/v7.tar.gz 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
- deleted 2y ago[deleted]
- mananaysiempre 2y ago> that version of awk [...] didn't even have user-defined functions Also known as “old awk” or (retronymically) “oawk”. Heirloom still carries[1] what should be a descendant of it (alongside the more familliar nawk). Also, > the executable is 46k thus still a bit larger than Turbo Pascal 3.02[2] :) That didn’t have a regex engine, admittedly. [1] https://heirloom.sourceforge.net/man/awk.1.html https://heirloom.sourceforge.net/man/awk.1.html [2] https://prog21.dadgum.com/116.html https://prog21.dadgum.com/116.html
- coliveira 2y agoTurbo Pascal was written in asm and highly optimized to reduce its size.
- fuzztester 2y agoin under 40 KB it had a lightning fast compiler that generated .COM files, and a text based IDE with a WordStar compatible code editor.
- dheera 2y ago[flagged]
- maksum 2y agoI thought I could escape this meme on hn, but alas
- Jtsummers 2y agoJust downvote or flag. It looks like you only have 17 karma so I don't think you can do either (I know you can't downvote, I'm not sure what, if any, threshold there is for flagging), so the best thing to do is to ignore it. Contribute to the site until you get enough karma, and then downvote/flag this kind of nonsense.
- distributedsean 2y ago[flagged]
- omarhaneef 2y ago[flagged]
- gregw2 2y agoLittle 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 https://www.cs.princeton.edu/~bwk/800.html
- smitty1e 2y ago> One of his students Smells like the post author, no?
- Affric 2y agoIs gawk the definitive awk implementation or am I thinking of gsed being the one that’s really different?
- LukeShu 2y agoI'm not sure what you're thinking of, but there at least 3 prominent and still-relevant awk implementations: nawk (One True Awk / AT&T awk / BWK awk): the original awk, still maintained; is used by macOS, FreeBSD, OpenBSD, and NetBSD https://github.com/onetrueawk/awk https://github.com/onetrueawk/awk mawk (Mike's awk): the default awk on Debian https://invisible-island.net/mawk/ https://invisible-island.net/mawk/ gawk (GNU awk): the default awk in lots of other places https://www.gnu.org/software/gawk/ https://www.gnu.org/software/gawk/
- gregw2 2y agoThere were some differences even in the mid 90s between AT&T-style awk which was then considered the original/definitive/most-backward-compatible and gawk which was new/shiny (although not /that/ new). I believe both were available in Linux back then. I believe in the above anecdote both were consulted with the emphasis on AT&T-style awk for obvious reasons.
- deleted 2y ago[deleted]
- ldjkfkdsjnv 2y agoPeople 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.
- azemetre 2y agoAnyone in particular you would you consider great? Always neat to follow the careers or happenings of the new blood.
- funemployd 2y agoI don't think anyone ever claimed Brian Kernighan was the best programmer ever.
- deleted 2y ago[deleted]
- deleted 2y ago[deleted]
- rubiquity 2y agoYour comment is naive but I’m dying to know: how would you measure better?
- rr808 2y agoLex Fridman did a good hour and a half interview with BK if you're interested. https://www.youtube.com/watch?v=O9upVbGSBFo https://www.youtube.com/watch?v=O9upVbGSBFo
- deepspace 2y agoThe Computerphile YouTube channel also did many interviews with BK: https://www.youtube.com/results?search_query=computerphile+kernighan https://www.youtube.com/results?search_query=computerphile+k... Sometimes, I feel extremely privileged to be living today. It's like a mathematician being able to interview Euler or a physicist interviewing Newton.
- fuzztester 2y agochecking it out. I didn't like his talks earlier (had only seen parts of a few), don't know why. but interestingly (to me), this one seems to be good, at least at the start, where I am now. as the real talk starts after the ads, looking at him, for some reason, I thought he looked like a sinister mafia don wearing a tie. :)
- kagakuninja 2y agoLex seems to love prominent tech bros like Zuckerberg and Musk, and has also done a softball interview of Joe Rogan, in which Rogan was allowed to spew unsubstantiated alt-right statements. If you don't like any of those people, Lex might be a turn-off. His attitude seems to be that he will interview anyone without pre-judgement, and try to find common ground with them or something. "Woke" people like myself view that as enabling bad actors. I have listened to some great interviews from him, so it is a mixed bag.
- Aaronstotle 2y agoI first found Lex because he would interview really interesting technical people, like Jim Keller. Like you, I found Lex off-putting in that he will platform anyone, and then will just say Love will prevail, I think its incredibly naive.
- rswail 2y agoI 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.
- cafard 2y agoYears 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.
- syngrog66 2y agoAwk Creator: funny!
- dfedbeef 2y agoVery brief