Computer scientist and compiler expert Alfred V. Aho is a man at the forefront of computer science research. He has been involved in the development of programming languages from his days working as the vice president of the Computing Sciences Research Center at Bell Labs to his current position as Lawrence Gussman Professor in the Computer Science Department at Columbia University.
As well as co-authoring the 'Dragon' book series; Aho was one of the three developers of the AWK pattern matching language in the mid-1970's, along with Brian Kernighan and Peter Weinberger.
Computerworld recently spoke to Professor Aho to learn more about the development of AWK, in the first of a series of investigations into the most widely-used programming languages.
How did the idea/concept of the AWK language develop and come into practice?
As with a number of languages, it was born from the necessity to meet a need. As a researcher at Bell Labs in the early 1970s, I found myself keeping track of budgets, and keeping track of editorial correspondence. I was also teaching at a nearby university at the time, so I had to keep track of student grades as well.
I wanted to have a simple little language in which I could write one- or two-line programs to do these tasks. Brian Kernighan, a researcher next door to me at the Labs, also wanted to create a similar language. We had daily conversations which culminated in a desire to create a pattern-matching language suitable for simple data-processing tasks.
We were heavily influenced by GREP, a popular string-matching utility on UNIX, which had been created in our research center. GREP would search a file of text looking for lines matching a pattern consisting of a limited form of regular expressions, and then print all lines in the file that matched that regular expression.
We thought that we'd like to generalize the class of patterns to deal with numbers as well as strings. We also thought that we'd like to have more computational capability than just printing the line that matched the pattern.
So out of this grew AWK, a language based on the principle of pattern-action processing. It was built to do simple data processing: the ordinary data processing that we routinely did on a day-to-day basis.. We just wanted to have a very simple scripting language that would allow us, and people who weren't very computer savvy, to be able to write throw-away programs for routine data processing.
Latest on Shell Scripting
- Smarter Linux file structure aims to ease software management
- Yahoo extends YQL Web data query platform
- The A-Z of Programming Languages: Falcon
- Generating regexes and Gmail filters
- The A-Z of Programming Languages: Bourne shell, or sh
- 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
Development Essentials
- Security experts name top 25 programming screw-ups
- 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?
- WebSphere Solution Design (S20) - CBD, contract role3/09/2010
Other
I.T. & T
WebSphere Solution Design (S20) - CBD, contract role - Solution Architect - Web Application Architecture Project!3/09/2010
Other
I.T. & T
Solution Architect to provide strategic and operational consulting for the end-to-end Web Application System project! Experienced with J2EE or .NET?! - Principal Consultant - ITIL2/09/2010
Other
I.T. & T
Excellent opportunity for an experienced ITIL Principal Consultant to join an innovative leading IT Service management consultancy. Attractive packag - Mainframe Developer - COBOL - 12 Month Contract2/09/2010
Other
I.T. & T
Mainframe Developer - COBOL - 12 Month Contract - Business Systems Analyst2/09/2010
Other
I.T. & T
Perm CBD based role for an experienced Business Systems Analyst - Senior SAP Project Manager2/09/2010
Other
I.T. & T
Senior SAP Project Manager - SAP FICO Consultant - 6 week contract - West Sydney2/09/2010
Other
I.T. & T
SAP FICO Consultant - 6 week contract - West Sydney
TechWorld Blogs
Recent blog posts
- Windows Phone 7: how big can it get?
- NBN gets a turn at political football
- Internet filter gets caught up in politics
- TechWorld Forums goes live
- Selective sourcing the hybrid of cloud services
- Social networks catch more business attention
- RIP Kin
- Telstra’s copper and NBN’s fibre: will the two ends meet?
- RIP Windows 2000, XP lives on
- Does the world need another iPhone? Why not
Recent comments
- java development
12 hours 34 min ago - When mine called they
13 hours 17 min ago - 3D TV cannot fall - no way! Why?
16 hours 31 min ago - Thanks for taking the time to
1 day 4 hours ago - Windows scam
1 day 12 hours ago - My only anti fraud method is
2 days 7 hours ago - Private Cloud Taxonomies
2 days 7 hours ago - ...however...
2 days 16 hours ago - This Guy
2 days 16 hours ago - Glasses Free technology
2 days 17 hours ago - FOSS community
3 days 9 min ago - i have dv6000 with nvidia
3 days 1 hour ago - i have dv6000 and suddenly
3 days 1 hour ago - This is an awesome comment.
3 days 5 hours ago - Real Estate
3 days 7 hours ago - Scam - eventvwr scammers
3 days 11 hours ago - Well I never...
5 days 2 hours ago - Too bad Microsoft was mentioned
5 days 4 hours ago - Phone card is a better option to make calls at a lower rate
5 days 8 hours ago - In other words: "Developers,
5 days 14 hours ago










Comments
I've been dabbling in Linux
I've been dabbling in Linux now for 1 - 2 years and have always been overwhelmed by the number of ways to handle data, that is until I discovered AWK. This one utility provides all the functionality I need in one simple, flexible and powerful language. So gone are the days of info/man'ing this utility and that utility just to query some text data, AWK has it all build into consistent scripting language...
Awk - half of my Unix typing
As an ex-Bell Labs engineer, I can safely say that I probably typed an Awk command every other time I typed a command. Sure a little exaggeration, but no much. Awk was always on one side or another of a pipe. As a manager, I started out learning C. My project was based on a legacy macro level language and that project is still alive 39 years later. So, as I needed to process lots of text for various projects I was playing with I turned to C. I printed "hello world" and moved to Awk. I lived and died with Awk for the rest of my 32 year career from analyzing budgets to NCSL, from reliability studies to performance analysis. And you could always throw the output in "S" for the statical package!
Post new comment