Turing Award Goes To Creators of Computer Programming Building Blocks (nytimes.com) 48
Jeffrey Ullman and Alfred Aho developed many of the fundamental concepts that researchers use when they build new software. From a report: When Alfred Aho and Jeffrey Ullman met while waiting in the registration line on their first day of graduate school at Princeton University in 1963, computer science was still a strange new world. Using a computer required a set of esoteric skills typically reserved for trained engineers and mathematicians. But today, thanks in part to the work of Dr. Aho and Dr. Ullman, practically anyone can use a computer and program it to perform new tasks. On Wednesday, the Association for Computing Machinery, the world's largest society of computing professionals, said Dr. Aho and Dr. Ullman would receive this year's Turing Award for their work on the fundamental concepts that underpin computer programming languages. Given since 1966 and often called the Nobel Prize of computing, the Turing Award comes with a $1 million prize, which the two academics and longtime friends will split. Dr. Aho and Dr. Ullman helped refine one of the key components of a computer: the "compiler" that takes in software programs written by humans and turns them into something computers can understand.
Over the past five decades, computer scientists have built increasingly intuitive programming languages, making it easier and easier for people to create software for desktops, laptops, smartphones, cars and even supercomputers. Compilers ensure that these languages are efficiently translated into the ones and zeros that computers understand. Without their work, "we would not be able to write an app for our phones," said Krysta Svore, a researcher at Microsoft who studied with Mr. Aho at Columbia University, where he was chairman of the computer science department. "We would not have the cars we drive these days." The researchers also wrote many textbooks and taught generations of students as they defined how computer software development was different from electrical engineering or mathematics. "Their fingerprints are all over the field," said Graydon Hoare, the creator of a programming language called Rust. He added that two of Dr. Ullman's books were sitting on the shelf beside him. After leaving Princeton, both Dr. Aho, a Canadian by birth who is 79, and Dr. Ullman, a native New Yorker who is 78, joined the New Jersey headquarters of Bell Labs, which was then one of the world's leading research labs.
Over the past five decades, computer scientists have built increasingly intuitive programming languages, making it easier and easier for people to create software for desktops, laptops, smartphones, cars and even supercomputers. Compilers ensure that these languages are efficiently translated into the ones and zeros that computers understand. Without their work, "we would not be able to write an app for our phones," said Krysta Svore, a researcher at Microsoft who studied with Mr. Aho at Columbia University, where he was chairman of the computer science department. "We would not have the cars we drive these days." The researchers also wrote many textbooks and taught generations of students as they defined how computer software development was different from electrical engineering or mathematics. "Their fingerprints are all over the field," said Graydon Hoare, the creator of a programming language called Rust. He added that two of Dr. Ullman's books were sitting on the shelf beside him. After leaving Princeton, both Dr. Aho, a Canadian by birth who is 79, and Dr. Ullman, a native New Yorker who is 78, joined the New Jersey headquarters of Bell Labs, which was then one of the world's leading research labs.
My College Compilers textbook (Score:2)
Re: (Score:2)
However it was not a book you could read and then you would know how to write a compiler.
You work that out elsewhere and look up the dragon book for details on things like when you need to define a pushdown finite state automata or some such nonsense.
Re: (Score:3)
"A" in "Awk" is for "Aho" (Score:5, Interesting)
Thanks, Mr. Aho. Awk has saved my bacon many, many times. I still use it several times a week.
Re: (Score:3)
Out of curiosity, why awk and not perl? More convenient one-lining? Or...etc.
Re: (Score:3)
A lot of times the -F flag and then "print $F[xxx]" is more hassle than just "{print $1}".
I do use Perl for a lot of things but awk and sed one-liners are frequently just a little quicker to dash off when digging through some output.
Re: (Score:2)
OTOH, awk can't actually delete a column(*) and doesn't have built-in join() or splice() functions - all of which are pretty damn useful when manipulating input records consisting of multiple fields.
You can write join and splice functions for awk, but then you lose the quickness advantage.
(*) you can kind of fake it with "$0=$0;$1=$1" trickery, but that has side-effects that are sometimes undesirable.
BTW, I've got nothing against awk. I use it all the time. I probably use awk more than perl these days, even
Re: (Score:3)
In part, as described by the other commenter, because the number of characters needed to type to carry out a simple task is often smaller for awk than for perl. But mostly because I started using awk before Perl existed ... so I just keep using it.
Re: (Score:2)
I discovered awk just before perl hit the streets, when I first tried perl it was like awk on steroids.
I continued to use awk as well as perl, right tool for the job and all that.
Just a month or so ago I whipped up an awk script but I had to google for some syntax refreshers, been too long for the appropriate synapses to survive.
Sorry, just havin a senior moment...
Re: (Score:2)
Re: (Score:2)
Great contributions, but ludicrous claims (Score:5, Insightful)
It is obvious these guys made great contributions to our art, but to suggest as Krysta Svore does "Without their work, we would not be able to write an app for our phones", is ridiculous hype that does a disservice to their work.
Re: Great contributions, but ludicrous claims (Score:2)
Re:Great contributions, but ludicrous claims (Score:4, Insightful)
Re: Great contributions, but ludicrous claims (Score:1)
Re:Great contributions, but ludicrous claims (Score:4, Insightful)
Re: (Score:2)
This was not their single contribution to the field. However, having a set of popular computer science text books is extremely important. It means you can do a lot of modern programming without having to independently do all the research of reading thousands of journal papers on your own.
Re: (Score:2)
Compiler books spend an inordinate amount of time on the intricacies of parsing. As a subject in itself parsing is fascinating both from a theoretical and algorithmic perspective. As a conceptual hurdle in building a parser for a compiler, it is not a significant one. [blogspot.com]
or
My edition of Aho et. al. Compilers book has 1,000 pages and does not even cover the topics I want to cover [blogspot.com]
Or even Wirth's very honest reflection of
After having contributed in the 1960s to the development of parsers for precedence grammars, and having used them for the implementation of the languages Euler and Algol W, I decided to switch to the simplest parsing method for Pascal, the method of top-down, recursive descent. The experience was most encouraging, and I stuck to it up to this day with great satisfaction. [inf.ethz.ch]
Myself, whenever I was looking into something specific about compiling techniques, I found out that Aho and Ullman were exactly the wrong book to look into. After a few topics I found the need to look into, I simply
Re: (Score:3)
They defined a formal model for parsing different classes of language.
This unlocked the gates for many language design decisions.
Re: (Score:2)
They defined a formal model for parsing different classes of language.
That's a *great* theoretical contribution and I have *zero* problems with that. But that has little to do with writing practical compilers for reasonable languages, not to mention such sensationalist claims as "without their work, we would not be able to write an app for our phones" (no, we *would* be able to just fine, have you ever heard of Oberon, for example?).
This unlocked the gates for many language design decisions.
Uh...this is the part I find difficult to believe. The interesting language design decisions are nowhere near parsing to be found. Consider Obero
Re: (Score:2)
It depends. If you mean that if they did not do it, then someone else would, then sure, that seems extremely likely. If you mean that we could do things like the apps on our phone without something like a compiler, then no, that is absurd. I think he is talking about the second interpretation while you are talking about the first.
Re: (Score:2)
If you mean that we could do things like the apps on our phone without something like a compiler, then no, that is absurd.
Seeing as they didn't invent compilers, I'm not sure how you could interpret that statement like this.
Re: (Score:2)
If you mean that we could do things like the apps on our phone without something like a compiler, then no, that is absurd.
Seeing as they didn't invent compilers, I'm not sure how you could interpret that statement like this.
Well played!
Re: (Score:2)
It is obvious these guys made great contributions to our art, but to suggest as Krysta Svore does "Without their work, we would not be able to write an app for our phones", is ridiculous hype that does a disservice to their work.
Really? If no one had invented the concept of a compiler (or interpreter) of a high level programming language and we were still writing all code in assembler, do you really think computing would be anywhere close to where it is? I think our code would be more compact and efficient, but it would be able to do far, far less.
Re: (Score:2)
If no one had invented the concept of a compiler (or interpreter) of a high level programming language and we were still writing all code in assembler, do you really think computing would be anywhere close to where it is?
Fortran was developed in the 1950s, and it is considered the first fully compiled programming language. The article implies that these these guys did their groundbreaking work in 1963 or later. I'm sure they made some significant contributions to computing, but it's not the idea of compilers, and the article doesn't tell any better.
Re: (Score:2)
If no one had invented the concept of a compiler (or interpreter) of a high level programming language and we were still writing all code in assembler, do you really think computing would be anywhere close to where it is?
Fortran was developed in the 1950s, and it is considered the first fully compiled programming language. The article implies that these these guys did their groundbreaking work in 1963 or later. I'm sure they made some significant contributions to computing, but it's not the idea of compilers, and the article doesn't tell any better.
Hmm... yeah, you're right, the article says they "refined" the idea of a compiler, but doesn't say what they did exactly.
The ACM writeup helps a little:
Re: (Score:2)
Re: (Score:2)
Surprised it took this long... (Score:2, Insightful)
If the Turing award has been given since '66 I would imaging that their would should have been recognized as being excruciatingly significant since, say.. oh 1980.
And not to discount the contributions and justifiable awards to luminaries such as Vint Cerf, Tim Berners-Lee, Alan Kay, etc. but Dr. Aho and Dr. Ullman's award is long, long, over-due.
That Grace Hopper is missing from the list is a slight equivalent to Gandhi being missed for the Nobel Peace Prize.
Re: (Score:1)
Re: (Score:2)
"Grace Hopper - the 1 nsec wire": I had to look that up. Cool!
A 37+ Year User of AWK (Score:2)
Re: (Score:3)
Re: (Score:2)
The context was easier-to-use-tools, not the general invention of computers and related infrastructure. I will readily concede that they played a key role in getting us cheaper hardware.
That more or less reinforces my original point in that tinkering and experimenting is the key, not some magic universal equation or formal discovery. Unix was created largely by borrowing favo
Re: (Score:1)
Correction: "type theory (TS)" should have been "type theory (TT)".
Re: (Score:2)
Re: (Score:1)
Weakly and loosely typed interpreted languages are still quite powerful. If higher-level heavily-typed compiled languages were never invented, I think we'd do fine. As well?, I don't know, but I don't think it would be a show stopper.
Re: (Score:2)
How about making a stateful GUI markup standard?
The W3C committee doesn't have the skills required to do a good job with that.
Re: (Score:1)
Screw the W3C. If someone takes the existing Qt or Tk kits and puts a markup wrapper around it, they can create an OSS GUI browser or browser pluggin. If and when it takes off, W3C can then come in to help with a written standard. (Qt has some proprietary aspects to it such that Tk may be the better choice.)
(When I retire I may try such, but I'm more of a domain developer than a systems developer.)
Re: (Score:2)
If someone takes the existing Qt or Tk kits and puts a markup wrapper around it, they can create an OSS GUI browser
That sounds amazing.
Re: (Score:1)
It would be. We could finally dump a lot of the web UI crap for common CRUD.
Re: (Score:2)
Re: (Score:2)
> What's your opinion on Sciter, then?
Sciter is a great text editer.
A Great Loss (Score:1)
Cars (Score:1)
I, for one, don't want the cars we drive today. The general public hasn't figured out yet that putting computers and software in cars is bad - it's basically a con job to get people to replace their cars more frequently due to aged-out software becoming broken or undesirable/unfashionable features. Billy-Bob-Ray John says, "My new Bluetooth 9 phone won't pair with my cumby Bluetooth 4 car. Time to upgrade!"
As a software engineer I see software bugs in current