This month we celebrate the birthday of one of the computing coding industry’s most notable authors – Peter J Weinberger. Peter, who turned 71 last week on the 6th, is one of the co-authors of the programming language AWK, and it is for him the W is named after. Introduced in 1977, it was one of the earliest tools to appear in Version 7 of Unix and was the only scripting language at that time to be available in a standard Unix environment (apart from the Bourne shell). AWK is Turing-complete (it can be used to simulate any single-taped Turning machine) and is a cross-platform language, making it very versatile.
Why Code in AWK?
When AWK was initially released, coders were impressed by:
• Its power to add computational features to a Unix pipeline. Almost all operating systems can handle AWK, and the corresponding book, The AWK Programming Language (1988) written by AWK’s coding authors helped users to implement it, aiding functionality.
• It could be used to write large, well-structured programs, something that wasn’t initially thought possible due to limitations in its intended area of use.
• It was fast, simple and small, with comprehensible coding that was easy to learn and understand
• It worked well with text-processing and was actually written with the intent to be simple to those not particularly computer-savvy, to write “throw-away” programs for routine data processing tasks.
• When the language was introduced, some Wall Street banks used it to balance their books, based on the simplicity of use for data processing.
• Despite massive leaps in the computer industry since AWK’s release, it still consistently ranks in the top 25 programming languages in the world.
• The Perl language, written by Larry Wall, was inspired by AWK. Perl is now one of the most widely used programming languages in the world.
• AWK still runs on its last stable release from 1988 – incredible for a language so widely used.
AWK has been extensively developed since 1977 and is one of the mandatory utilities of the Single Unix Specification (SUS). There are a range of practical programs/functions written in awk as well as rewrites of common POSIX programs in awk, including cut, split and Egrep.
AWK was written by Weinberger alongside Alfred Aho and Brian Kernighan; all 3 have gone on to continue their successful careers in computer science; Weinberger currently works at Google, Aho a researcher at Columbia University (Language and Compiler’s Research Group) and Kernighan a professor in the dept of Computer Science at the University of Toronto.