Slashdot Mirror


Peter Naur Wins 2005 Turing Award

An anonymous reader writes "The Association for Computing Machinery (ACM) has named Peter Naur the winner of the 2005 A.M. Turing Award. The award is for Dr. Naur's fundamental contributions to programming language design and the definition of Algol 60, to compiler design, and to the art and practice of computer programming. The Turing Award is considered to be the Nobel Prize of computing, and a well-deserved recognition of Dr. Naur's pioneering contributions to the field."

44 of 135 comments (clear)

  1. Took a while, didn't it? by jcr · · Score: 4, Insightful

    The designer of Algol-60 is only getting this recognition in 2006? What?

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
    1. Re:Took a while, didn't it? by LiquidCoooled · · Score: 4, Informative

      This may help to explain his importance even to this day:

      The Backus-Naur form (BNF) (also known as the Backus-Naur formalism, Backus normal form or Panini-Backus Form) is a metasyntax used to express context-free grammars: that is, a formal way to describe formal languages.

      Taken from the wikipedia page.

      --
      liqbase :: faster than paper
    2. Re:Took a while, didn't it? by 0xC0FFEE · · Score: 5, Funny

      I hear the Turing committee actually has an infinite red tape.

    3. Re:Took a while, didn't it? by MichaelSmith · · Score: 4, Funny
      The designer of Algol-60 is only getting this recognition in 2006?

      Must be why they compare it with the Nobel.

    4. Re:Took a while, didn't it? by foonf · · Score: 4, Informative

      John Backus won the award in 1977 though, so it is quite legitimate to ask, as the original poster did, why they didn't recognize Naur sooner.

      --

      "(Man) tries to live his own life as if he were telling a story. But you have to choose: live or tell." --Sartre
    5. Re:Took a while, didn't it? by Anonymous Coward · · Score: 2, Informative

      It took a while because noone nominated him until now. As a matter of fact, I am a senior Computer Engineer at Syracuse University taking a compiler class tought by the distinguished Dr. Per Brinch Hansen, who nominated Peter Naur for this award. (I forgot the exact number, but the ACM committe responsible for selecting the winners, recieved many recommendations for Naur from previous Turning award winners because of his credentials and Hansen's nomination). So congradulations to Naur on his prestigous award, and as the old saying goes "better late than never".

    6. Re:Took a while, didn't it? by hopopee · · Score: 2, Interesting

      Maybe it has something to do with Backus leading the project that created the FORTRAN language. You know, one of the most used languages ever. That is still used for scientific calculating.

    7. Re:Took a while, didn't it? by Anonymous Coward · · Score: 2, Interesting

      Speaking of years, a near equivalent of Backus-Naur Form had been used sometime in 5th century BCE (yes, 2500 years ago) by Panini to describe the grammar of Sanskrit language.

  2. There is a saying... by geoff+lane · · Score: 3, Funny

    ..."Algol 60 is a great improvement on all its successors"

    Nice to see Peter getting some recognition.

    1. Re:There is a saying... by AuMatar · · Score: 5, Insightful

      It isn't the idea of a language thats the problem, the idea that language matters is the problem. Any problem can be solved in any Turing complete language. There's little to no difference between them. You're not going to write code an order of magnitude faaster because you change language. Short of having an API class you can leverage in one language and not the other, you'll be hard put to program faster by a factor of 10%, if you know the syntax of both languages equally well.

      The real problem is code reuse. 95% of what we do on a daily basis is to reinvent features available elsewhere. What we need are well designed, easy to use libraries that we can leverage and have most of the work done for us. Closed source programs are killing us, as we can't leverage off each other. Its like going back to the days of Newton and Liebnitz and requiring all mathematicians to prove the same ideas without reference to one another's work before moving on. Its ridiculous, and its the reason for our problems.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    2. Re:There is a saying... by belmolis · · Score: 3, Insightful

      It is much more difficult to master and retain the syntax of some languages than of others, so a lot of the time you aren't going to know them equally well. In any case, I think you're just wrong about language not making a difference. It is much slower to write in a low-level language than in a high-level language. Sure, you may have mastered the syntax, but you still have to spend time and mental energy keeping track of what goes where if you don't have data structures like structs and arrays, and just adding automatic storage allocation and garbage collection saves a lot of time and bugs.

    3. Re:There is a saying... by AuMatar · · Score: 5, Insightful

      I disagree- arrays and structs are made by quick macros, even in assembly. Think of it like an accessor function. It takes a small time up front to write- not a significant effort. I'm about 90% of the speed writing in asm than I am in C++.

      Garbage collection is a whole other rant- thats a complete strawman. Memory management takes a minor amount of time (almost 0), and making sure you properly null out dangling references in Java takes about as much. I find the problem to be totally different- there's a subset of programmers who just don't understand memory management. These people suck as programmers- everything you do in programming is resource management. Memory- alloc, use, free. Files- open, use, close. Networking- connect,use,close. Having people who don't understand that pattern on your team causes work to slow down by large amounts because of their incompetnece, not because of the language.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    4. Re:There is a saying... by belmolis · · Score: 2, Insightful

      If you've got macros in assembler with macros that make structs and arrays easy, you're not writing real assembler but one of those new-fangled intermediate languages. That's a step up right there.

      Anyhow, its the storage allocation that is the big thing. I just don't agree that it makes such a small difference. It isn't just the need to free up what you use - that's relatively easy. It's the constant checking of whether you've got enough or need to reallocate, and the sometimes complicated and error-prone calculations of how much you need.

      I'm a very experienced C-programmer (24 years) and the storage allocation idioms reside in my fingertips, yet when dealing with a lot of variable length strings, for example, I know that it is much faster to write in a high-level language like Tcl than in C. And studies of programmers seem to show this quantitatively.

      Another feature that I suspect is helpful, if not in making things go faster, in reducing the expenditure of mental energy, is the use of iterators like foreach. Being able to iterate over a list without having to worry about what the first index is and what the last index is etc. as with a C-style for makes it much easier.

    5. Re:There is a saying... by danielk1982 · · Score: 2

      Any problem can be solved in any Turing complete language. There's little to no difference between them. You're not going to write code an order of magnitude faster because you change language.

      You've got to be kidding me. There are plenty of cases where you will write code a magnitude faster if a language is changed. Can you write a web application supporting complex business logic in C? Yeah you can. But it absolutely doesn't compare to Rails, Struts, or asp.NET. A Perl program might take a few lines while the equivalent Java code might take tens of lines. Or how about this, how many lines of C code would it take to generate a user interface of slashdot, and how much conceptually harder would it be to understand than the html/css that its specified with now? Its all bits underneath, but a language can make all the difference.

      Honestly, by your logic we shouldn't have gone further than assembler.

      95% of what we do on a daily basis is to reinvent features available elsewhere.

      I think you're overstating this. There are already plenty of libraries used by developers, but the simple fact is you'll never have a library for everything (not even close). You will need custom code, if only to weave provided libraries together.

    6. Re:There is a saying... by AuMatar · · Score: 2, Insightful
      You've got to be kidding me. There are plenty of cases where you will write code a magnitude faster if a language is changed. Can you write a web application supporting complex business logic in C? Yeah you can. But it absolutely doesn't compare to Rails, Struts, or asp.NET


      I disagree. A quick download of a few libraries to help out (a database access library, a regex library, a better string library, maybe one or two others) and I'm ready to go. Rails is a particularly poor example- yeah, it autogenerates a lot of code, but if you want to go even slightly out of lockstep with it, you have a lot of fighting against it to do.

      There are already plenty of libraries used by developers, but the simple fact is you'll never have a library for everything (not even close). You will need custom code, if only to weave provided libraries together.


      Of course. But I don't think I overstated by much. Much of what we do daily is reinvent the wheel. Usually poorly (if we were inventing a better wheel I wouldn't complain). New languages aren't going to boost our productivity, not compared to the boost we'd get from not having to write the damn code in the first place.
      --
      I still have more fans than freaks. WTF is wrong with you people?
    7. Re:There is a saying... by AuMatar · · Score: 2, Interesting
      Why do you have to worry about increasing your string length? That should be taken care of by your string library. Lets say you want to concatenate 2 strings. YOu don't just use strcat() do you? The correct way to do it is to write a function that goes something line this


      string* strcat(string *str1,string *str2){
          if(str2.length+str1.length>str1.size){
              if(reallocstr(dst,str2.length+str1.length)==ALLOCE RROR){
                  return NULL;
              }
          }
          memcpy(str1.buffer+str1.length,str2.buffer,str2.le ngth);
          return str1;
      }


      Where string is a struct defined by the library. If you're using the plain C string library, that in itself is a problem- you're right, using it is slow and requires you to keep track of too much stuff. So don't-- use a better string library. There's a few dozen in C you can download off the web.

      Another feature that I suspect is helpful, if not in making things go faster, in reducing the expenditure of mental energy, is the use of iterators like foreach. Being able to iterate over a list without having to worry about what the first index is and what the last index is etc. as with a C-style for makes it much easier.


      So why don't you write a list library that takes a function pointer and calls it on each member of the list? Or one that at least has functions so you can look like this (assume a list of ints for the following example):


      for(int iter=begin(list);iter!=end(list);iter=getnext(list ,iter)){
          int val=getval(list,iter); //do work
      }


      Your problem doesn't seem to be C, its using C poorly. If you're not doing stuff like this, you're working at the wrong level of abstraction. That leads to slow to write, buggy code in any language. And its equally likely in any language.
      --
      I still have more fans than freaks. WTF is wrong with you people?
    8. Re:There is a saying... by AuMatar · · Score: 2, Insightful
      Much like political ideals being limited only by barriers of diminished human integrity, so it is with your idea.


      Other than disagreement, I'm not sure WTF you're trying to say here. Try to stick to one rant at a time, and you'll make much more sense.

      We always come to put things in a perspective native to us, and we will always be most productive when we are most comfortable with the tools we use; this is the case in art, craftsmanship, and even programming. Heck, as an example, the hordes here on Slashdot will mostly swear by one text editor or another for programming -- I'm sure even an irrelevant "environmental factor" such as a developer's editor of choice would result in magnitudes of difference with respect to productivity.


      True, to some extent. Point a gun at my head and tell me to program Lisp and I'll do so more slowly than C. This is not due to flaws in Lisp, but due to the fact that the syntax is not familar to me. As I said, my point is that when EQUALLY experienced with the syntax of 2 languages then there is no difference. Its not Lisp or C or Java or ASM that causes us to be slower programmers, its our unfamiliarity with it. My point is that its nothing inherent in the language that slows us down, and nothing inherent in some other language will speed us up. Its 100% a matter of familiarity. Looking for some new language which will magicly make you more productive is a wild goose chase.
      --
      I still have more fans than freaks. WTF is wrong with you people?
    9. Re:There is a saying... by brpr · · Score: 2, Insightful

      And how exactly would you implement Rails' reflective object/database mapping in C?! Takes more than a string library.

      --
      Freedom is not increased by mere diminuation of government. Anarchy is freedom for the strong and slavery for the weak.
  3. I didn't think by Eightyford · · Score: 4, Funny

    I didn't think humans could win this award.

  4. Me, like many readers of slashdot by RedLaggedTeut · · Score: 2, Funny

    Me, like many readers of slashdot, also hope to pass the Turing test one day, so I congratulate him on this achievement.

    Meanwhile, in Soviet Russia, the Turing test passes you.

    --
    I'm still trying to figure out what people mean by 'social skills' here.
    1. Re:Me, like many readers of slashdot by MyLongNickName · · Score: 3, Funny

      Me, like many readers of slashdot, also hope to pass the Turing test one day, so I congratulate him on this achievement.

      You passed the test. No computer would mangle the pronoun usage like this! ;)

      --
      See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
    2. Re:Me, like many readers of slashdot by weg · · Score: 5, Funny

      According to the Hitchhikers Guide to the Galaxy this will be hard, if you are a Computer Scientist:

      (copied from http://www.h2g2.com/ )

      Dave? Are you there Dave?

      A test for artificial intelligence suggested by the mathematician and computer scientist Alan Turing. The gist of it is that a computer can be considered intelligent when it can hold a sustained conversation with a computer scientist without him being able to distinguish that he is talking with a computer rather than a human being.

      Some critics suggest this is unreasonably difficult since most human beings are incapable of holding a sustained conversation with a computer scientist.

      After a moments thought they usually add that most computer scientists aren't capable of distinguishing humans from computers anyway.

      --
      Georg
  5. One of Peter Naur's Contributions by Wayne_Knight · · Score: 2, Funny
    Look, Naur is mentioned right in the code!
    $ diff -Naur inftrees.c../zlib-1.2.2.orig/
    --- inftrees.c 2005-07-10 13:38:37.000000000 +0100
    +++../zlib-1.2.2.orig/inftrees.c 2004-09-15 15:30:06.000000000 +0100
    @@ -134,7 +134,7 @@
    left -= count[len];
    if (left < 0) return -1;/* over-subscribed */
    }
    - if (left > 0 && (type == CODES || max != 1))
    + if (left > 0 && (type == CODES || (codes - count[0] != 1)))
    return -1;/* incomplete set */
    Not much of a criterion for a Turing Award, though...
  6. Datalogy by Peter_Pork · · Score: 4, Interesting

    Peter Naur is an interesting character. For example, he dislikes the term "Computer Science", and prefers "Datalogy". He also gives Backus the whole credit for inventing BNF, which he calls the Backus Normal Form. I'm sure he has a better name for Algol-60...

    1. Re:Datalogy by Krakhan · · Score: 2, Informative

      It's most likely for that reason Djikstra preferred the term "Computing Science" himself.

    2. Re:Datalogy by Anonymous Coward · · Score: 2, Interesting

      He's a very funny character indeed. I study at DIKU where Naur used to work, and one of the funny things he invented was "the Naur frame".

      The Naur frame is an A4 sized piece of cardboard with a hole in it like a picture frame. When he would read and grade a report he would place this frame over the report when reading it. So if your margin was too narrow the frame would cover some of your text. He would then give you a horrible grade because your report didn't make any sense.

      A rather hard way to force people into having large margin, but also quite funny.

    3. Re:Datalogy by perkr · · Score: 2, Informative

      In Swedish Computer Science is "datalogi", and the term "informatik" is somewhat loosely translated into "media and information science".

    4. Re:Datalogy by paradigm82 · · Score: 2, Interesting

      Here are some other stories (I study at DIKU too): * For most reports handed in at DIKU (like on most other universities I guiess) there's an upper limit on the number of pages you can hand in. Peter Nauer had the policy that if he received a report with more than that number of pages, he would simply refuse to read the last excess pages. * For every day a report was handed too late he would subtract one grade point. This led to complaints from the administration so the policy is now that overdue hand-ins are always marked as "failed". * Nauer didn't like spending too much time on lectures. He therefore tape-recorded them in advance and the lecture simply consisted of the tape being played and the students could ask/answer questions (sometimes rewinding the tape ) between themselves. He would then show up for 5 minutes at the end of the lecture to answer any remaining questions.

  7. Algol 60 Group by JehCt · · Score: 2, Interesting

    It's interesting that Peter Naur is being recognized 40 years later, when another Algol team member, Alan Perlis, received the first Turing Award in 1966. Here's a photo of Perlis, Naur and the other Algol 1960 conference participants.

  8. Re:Just Algol-60? by weg · · Score: 4, Informative

    BNF originally stood for "Backus Normal Form", and the name Backus Naur Form was introduced by Donald Knuth:

    @article{365140,
      author = {Donald E. Knuth},
      title = {Backus Normal Form vs. Backus Naur form},
      journal = {Commun. ACM},
      volume = {7},
      number = {12},
      year = {1964},
      issn = {0001-0782},
      pages = {735--736},
      doi = {http://doi.acm.org/10.1145/355588.365140},
      publisher = {ACM Press},
      address = {New York, NY, USA},
      }

    --
    Georg
  9. Some contributions of Algol60 by Marc+Rochkind · · Score: 5, Informative

    1. The Report on the language used a formal syntax specification, one of the first, if not the first, to do so. Semantics were specfied with prose, however.
    2. There was a distinction between the publication language and the implementation language (those probably aren't the right terms). Among other things, it got around differences such as whether to use decimal points or commas in numeric constants.
    3. Designed by a committee, rather than a private company or government agency.
    4. Archetype of the so-called "Algol-like languages," examples of which are (were?) Pascal, PL./I, Algol68, Ada, C, and Java. (The term Algol-like languages is hardly used any more, since we have few examples of contemporary non-Algol-like languages.)

    However, as someone who actually programmed in it (on a Univac 1108 in 1972 or 1973), I can say that Algol60 was extremely difficult to use for anything real, since it lacked string processing, data structures, adequate control flow constructs, and separate compilation. (Or so I recall... it's been a while since I've read the Report.)

    1. Re:Some contributions of Algol60 by hritcu · · Score: 2, Interesting

      > 1. The Report on the language used a formal syntax specification, one of the first, if not the first, to do so. Semantics were specfied with prose, however. Unfortunately this is the case with all programming languages (with the exception of standard ML).

      --
      If you don't fail at least 90 percent of the time, you're not aiming high enough. (Alan Kay)
  10. life::= birth education career gods_waiting_room ; by hedley · · Score: 2, Insightful

    I have been using his work for years. Congrats to him
    and his fantastic career.

    Hedley

  11. Danes everywhere... by weg · · Score: 4, Interesting

    Amazing how many programming languages were actually invented by Danish computer scientists. Peter Naur (ALGOL), Bjarne Stroustrup (C++), Anders Hejlsberg (C#), and Mads Tofte contributed a good deal to SML.

    --
    Georg
    1. Re:Danes everywhere... by sidetracked · · Score: 4, Informative

      Anders Hejlsberg made Turbo Pascal as well. Also to name a few other Danes that created popular languages like Rasmus Lerdorf (PHP) and David Heinemeier Hansson (Ruby on Rails Framework).

  12. Re:Sample code by GoofyBoy · · Score: 4, Funny

    Build a macro or some kind of simple code to check FOR you!

    I did one in LISP; I'm still trying to find an unmatched (.

    --
    The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
  13. Re:Sample code by musakko · · Score: 3, Funny
    For those of you like me and have never worked with this language, some sample code is here [monash.edu.au]

    Scotty: Captain, we din' can reference it!
    Kirk: Analysis, Mr. Spock?
    Spock: Captain, it doesn't appear in the symbol table.
    Kirk: Then it's of external origin?
    Spock: Affirmative.
    Kirk: Mr. Sulu, go to pass two.
    Sulu: Aye aye, sir, going to pass two.

    No more wordy than COBOL. Seems like a cool language
  14. The Algols were good by Anonymous Coward · · Score: 2, Interesting

    Although you were making a joke, it didn't actually reflect reality at all. Algol 60 was quite seminal, and Algol 68 was almost the "Perl" of its time, really powerful.

    In almost 40 years since the Algol family of languages was defined, we haven't really moved things along all that much. Quite a lot of the "improvements" in modern languages are not fundamental but largely aesthetic. Pretty pathetic really.

    Nearly 4 decades ago, we programmed in Algol 68 and we walked on the moon. It's curious how the pace of progress in both realms slackened off quite suddenly, to put it generously.

  15. Re:Nobel Games by AuMatar · · Score: 2, Interesting

    The Nobel committee has not made any awards that Alfred Nobel himself did not decide to set up. Economics is not a real nobel prize- its official name is "The Bank of Sweden Prize in Economic Sciences in Memory of Alfred Nobel"- in other words its a rip off of the name. Quite fitting, given macroeconomics is a pseudo-science, that it be given a pseudo-award.

    --
    I still have more fans than freaks. WTF is wrong with you people?
  16. Honest question from curious geek- by Josh+teh+Jenius · · Score: 2, Interesting

    I just read the WikiPedia article on Alan Turing:

    In 1952, Turing was convicted of acts of gross indecency after admitting to a sexual relationship with a man in Manchester. He was placed on probation and required to undergo hormone therapy. When Alan Turing died in 1954, an inquest found that he had committed suicide by eating an apple laced with cyanide.

    Then the article mentions an urban legend:

    In the book, Zeroes and Ones, author Sadie Plant speculates that the rainbow Apple logo with a bite taken out of it was an homage to Turing. This seems to be an urban legend as the Apple logo was designed in 1976, two years before Gilbert Baker's rainbow pride flag.

    Urban Legend? Anyone have any more info on this?

    In case you haven't seen it in a while, here is the classic Apple logo:
    http://www.jeb.be/images/Apple/apple_logo_(640x480 ).jpg.

    --
    Math is math. Regular expression is regular expression. The tools are there. The future is now.
    1. Re:Honest question from curious geek- by solitas · · Score: 4, Interesting
      --
      "It's time to take life by the cans." ~ Bender ("Bendin' in the Wind", ep. 3-13)
    2. Re:Honest question from curious geek- by bj8rn · · Score: 2, Informative

      Google provides the answer: "For inspiration, the first thing I did was go to the supermarket, buy a bag of apples and slice them up. I just stared at the wedges for hours," recalls Janoff. The fruit of his labor: a simple 2-D monochromatic apple, with a healthy bite taken from the right side. Jobs loved the conceit-only he suggested it be more colorful. Janoff's boss disagreed, insisting the logo be made all black to save on printing costs. "But Jobs was resolute, arguing that color was the key to humanizing the company," says Janoff. "So I just put colors where I thought they should be, not even thinking about a prism."

      --
      Hell is not other people; it is yourself. - Ludwig Wittgenstein
  17. Re:Nobel Games by proxima · · Score: 2, Insightful

    Trying to get two economists to agree on a macro issue is almost impossible. If it was a real science, at least the basics would be known, tested, and proven by now.

    I'll grant that there are many conflicting models in macro. Many of them stem from the assumptions. For example, assuming a closed economy or an open economy. In the real world and throughout history, various countries are somewhere in between, but often closer to one or the other. Thus, choosing appropriate assumptions for the question you're asking is very important.

    Beyond that, macro is very, very new. Physics had centuries from Aristotle to Newton to Einstein. The point is we can gather data and test these models for their effectiveness. Some of them work, and they tend to persist, and some of them don't (but again, choosing which model is appropriate for which data is very important). Besides, if you're a big fan of micro, there's a huge trend in macro to have the models based on micro foundations. Regarding economics as a science, see my other post in this thread.

    Even if you don't like certain aggregate variables (GDP, etc), some macroeconomic variables are decided in the real world regardless (how much money to print, what interest rate the Fed sets). Macroeconomics will always exist in that sense. There's certainly plenty of room for improvement in the collection of data (especially of non-OECD countries), but that's true of micro as well.

    Agreed. I have high respect for both the Turing Award and the Field's Medal. Note that neither of them call themselves the Nobel Prize.

    Neither of them are decided by the Royal Swedish Academy of Sciences. I wouldn't mind if everyone called it the Nobel Memorial Prize or something to that effect. If it didn't exist, there would probably be some "top prize" similar to the Field's Medal or Turing Award, and that'd be fine too (there probably was before 1968).

    --
    "The universe seems neither benign nor hostile, merely indifferent." --Carl Sagan
  18. Naur denies having contributed to BNF by MarkoNo5 · · Score: 4, Interesting

    Naur himself denies having invented BNF together with Backus. According to himself, it is the Backus Normal Form. Other people put his name in it.