What are you most proud of in the development of AWK?
AWK was developed by three people: me, Brian Kernighan and Peter Weinberger. Peter Weinberger was interested in what Brian and I were doing right from the start. We had created a grammatical specification for AWK but hadn't yet created the full run-time environment. Weinberger came along and said 'hey, this looks like a language I could use myself', and within a week he created a working run time for AWK. This initial form of AWK was very useful for writing the data processing routines that we were all interested in but more importantly it provided an evolvable platform for the language.
One of the most interesting parts of this project for me was that I got to know how Kernighan and Weinberger thought about language design: it was a really enlightening process! With the flexible compiler construction tools we had at our disposal, we very quickly evolved the language to adopt new useful syntactic and semantic constructs. We spent a whole year intensely debating what constructs should and shouldn't be in the language.
Language design is a very personal activity and each person brings to a language the classes of problems that they'd like to solve, and the manner in which they'd like them to be solved. I had a lot of fun creating AWK, and working with Kernighan and Weinberger was one of the most stimulating experiences of my career. I also learned I would not want to get into a programming contest with either of them however! Their programming abilities are formidable.
Interestingly, we did not intend the language to be used except by the three of us. But very quickly we discovered lots of other people had the need for the routine kind of data processing that AWK was good for. People didn't want to write hundred-line C programs to do data processing that could be done with a few lines of AWK, so lots of people started using AWK.
For many years AWK was one of the most popular commands on UNIX, and today, even though a number of other similar languages have come on the scene, AWK still ranks among the top 25 or 30 most popular programming languages in the world. And it all began as a little exercise to create a utility that the three of us would find useful for our own use.
How do you feel about AWK being so popular?
I am very happy that other people have found AWK useful. And not only did AWK attract a lot of users, other language designers later used it as a model for developing more powerful languages.
About 10 years after AWK was created, Larry Wall created a language called Perl, which was patterned after AWK and some other UNIX commands. Perl is now one of the most popular programming language in the world.. So not only was AWK popular when it was introduced but it also stimulated the creation of other popular languages.
AWK has inspired many other languages as you've already mentioned: why do you think this is?
What made AWK popular initially was its simplicity and the kinds of tasks it was built to do. It has a very simple programming model. The idea of pattern-action programming is very natural for people. We also made the language compatible with pipes in UNIX. The actions in AWK are really simple forms of C programs. You can write a simple action like {print $2} or you can write a much more complex C-like program as an action associated with a pattern. Some Wall Street financial houses used AWK when it first came out to balance their books because it was so easy to write data-processing programs in AWK.
AWK turned a number of people into programmers because the learning curve for the language was very shallow. Even today a large number of people continue to use AWK, saying languages such as Perl have become too complicated. Some say Perl has become such a complex language that it's become almost impossible to understand the programs once they've been written.
Another advantage of AWK is that that the language is stable. We haven't changed it since the mid 1980's. And there are also lots of other people who've implemented versions of AWK on different platforms such as Windows.
Latest on Shell Scripting
- Telstra revamps Windows Mobile, eyes cloud UC
- Review: Microsoft's System Center Virtual Machine Manager
- Glintech integrates Asterisk, Jabber for open source UC platform
- The A-Z of Programming Languages: BASH/Bourne-Again Shell
- The A-Z of Programming Languages: AWK
- Unix tip: Rescuing files from lost+found
- PowerShell Tips and Tricks
- Dynamic languages: More than just a quick fix
- Microsoft releases scripting tool for Vista
- Traveling Down the Unix $PATH
Development Essentials
- Top 10 wicked cool algorithms
- Facebook app verification fee draws criticism
- Microsoft's openness stressed
- Yahoo's developer platform to launch this week
- Microsoft starts new developer portal
- Google API allows creating apps that can track laptops
- PHP, JavaScript, Ruby, Perl, Python, and Tcl Today: The State of the Scripting Universe
- Analyst: In-house app development fraught with waste
- Is unit testing doomed?
- Open source still the best way to develop software
TechWorld Jobs (beta)
Recent Jobs
TechWorld Blogs
-

TalkingTech
The view from the top of IT with TechWorld Editor Rodney Gedda
-

Entrenched
Cooking up better code, IDG's developers reveal some of their secrets
-

Broadband Voice
Darren Pauli digs in from the front line of Australia's broadband battleground
Recent blog posts
- A Novell approach to business
- An open storage stack? I like the sound of that
- The mobile clone wars: fighting for a better phone experience
- Stopping the "Clean Feed"
- Identifying web platforms
- Clean Feed ‘not technically possible’
- No Clean Feed - well duh!
- Conroy's content cops still on the cards
- Will open source ruin the economy? Please help
- Linux kernel 2.6.27 is out!
Recent comments
- A real alternative?
20 hours 34 min ago - Hello this is Brianna
2 days 6 hours ago - Turn any PC into a media center
2 days 19 hours ago - How About the Correct Title?
3 days 11 hours ago - who are you kidding?
3 days 16 hours ago - Seriously, how much did they pay for this advertisement
5 days 7 hours ago - SF Bay Area - free Seminar on Enterprise Cloud Computing
5 days 10 hours ago - video conferening but not telepresence...
5 days 17 hours ago - SAMSUNG OLED 40" TECHNOLOGY
6 days 2 hours ago - What was the question again, oh well this was prepared earlier
1 week 1 day ago - Worldwide broadband prices continue to drop which means ? in AU
1 week 1 day ago - Not a Problem Here in Australia and New Zealand
1 week 3 days ago - Clear the air
1 week 4 days ago - Tabbed browsing, Quick Find,
2 weeks 2 hours ago - Microsoft details plans for new social bookmarking tool
2 weeks 1 day ago - There is a 3rd party tool
2 weeks 3 days ago - Demise of Windows
2 weeks 3 days ago - new OS
2 weeks 3 days ago - Re: Favicon
2 weeks 4 days ago - Multi Camera Kino
2 weeks 4 days ago



