Turing Award Goes to Pioneers of Object-Oriented Programming
Jens_AAMC wrote in to point out that the 2001 Turing Award has been announced, going to Ole-Johan Dahl and Kristen Nygaard for their work in object-oriented programming.
← Back to Stories (view on slashdot.org)
Here is the article.... before its slashdotted....
COMPUTING'S HIGHEST HONOR AWARDED TO INVENTORS OF DOMINANT PROGRAMMING STYLE
Norwegian Team Developed Concepts for Software Now in Home Entertainment Devices
New York, February 5, 2002...The Association for Computing Machinery (ACM) has presented the 2001 A.M. Turing Award, considered the "Nobel Prize of Computing," to Ole-Johan Dahl and Kristen Nygaard of Norway for their role in the invention of object-oriented programming, the most widely used programming model today. Their work has led to a fundamental change in how software systems are designed and programmed, resulting in reusable, reliable, scalable applications that have streamlined the process of writing software code and facilitated software programming. Current object-oriented programming languages include C++ and Java, both widely used in programming a wide range of applications from large-scale distributed systems to small, personal applications, including personal computers, home entertainment devices, and standalone arcade applications. The A.M.Turing Award carries a $25,000 prize.
The discrete event simulation language (Simula I) and general programming language (Simula 67) developed by Dahl and Nygaard at the Norwegian Computing Center in Oslo, Norway in the 1960's, led the way for software programmers to build software systems in layers of abstraction. With this approach, each layer of a system relies on a platform implemented by the lower layers. Their approach has resulted in programming that is both accessible and available to the entire research community.
"The work of Drs. Dahl and Nygaard has been instrumental in developing a remarkably responsive programming model that is both flexible and agile when it is applied to complex software design and implementation," said John R. White, executive director and CEO of ACM. "It is the dominant style for implementing programs with large numbers of interacting components." The awards committee noted that the core concepts embodied in their object-oriented methods were designed for both system description and programming and provided not just a logical but a notational basis for their ideas. The benefits of their work are not limited to software but are applicable to business processes as well.
Drs. Dahl and Nygaard are professors (emeriti) of informatics at the University of Oslo. They developed their object-oriented programming concepts at the Norwegian Computing Center from 1961-67. Professor Nygaard was involved in large-scale simulation studies at the Norwegian Defense Research Establishment from 1949-60. He continued his work on object-orientation, and did research on systems development, participative system design, and societal consequences of information technology. With Danish colleagues, he invented Beta, a general object-oriented language.
Professor Dahl also worked at the Norwegian Defense Research Establishment, and joined the Simula project as an experienced designer and implementer of basic software as well as high level programming language. In 1968, Dahl became the first professor of informatics at the University of Oslo, responsible for establishing research and education programs in this rapidly expanding field. His focus on computer program verification led to the development of his theory of constructive types and subtypes based on computer-aided concept formation and reasoning.
ACM will present the A.M. Turing Award, its most prestigious technical honor, at the annual ACM Awards Banquet April 27, 2002, at the University of Toronto. The award was named for A. M. Turing, a pioneer in the computing field. Financial support for the award is provided by InterTrust Technologies Corp.'s Strategic Technologies and Architectural Research Laboratory.
About ACM
The Association for Computing Machinery (ACM) is a major force in advancing the skills of information technology professionals and students. ACM serves its global membership by delivering cutting edge technical information and transferring ideas from theory to practice. ACM hosts the computing industry's leading Portal to Computing Literature. With its world-class journals and magazines, dynamic special interest groups, numerous conferences, workshops and electronic forums, ACM is a primary resource to the information technology field. For additional information about ACM and the ACM Portal, see www.acm.org.
Cruise TT
Perhaps /. can interview the winners and shed some light into the early development of OOL.
I have to agree that OO programming is in itself an important contribution to computer science. It is, as the article says, supporting more stable, robust code which can be reused (modularized).
:-)
What i DO find interesting though... is that they (ACM) gives the price to such an old theory. I would instead prefer if ACM would have selected some _new_ issue, that could be highlighted and given a few moments in the spotlight.
Really, what is the use with giving the price to something which is already a standard ?
I dont say they dont deserve the price, OO is great. What I do say is that the price itself could do much more good if it were given to some theory which has yet to make great impact if given the time and resources to do so. It feels like giving the "Astronaut of the year Award" to Neil Armstrong for his lunartrip
Cant ACM, with all its resources and people, try to be a bit more innovative ?
Probable impossibilities are to be preferred to improbable possibilities.
Aristotele
It's not every day that a group acronymed as POOP shows up on the Slashdot front page!
The most interesting part of this whole award to these programmers is that it comes roughly 40 years after the accomplishments have taken place. Even in a world where it seems technology is evolving at a tremendous pace, it seems that the most basic and innovative aspects of certain technologies take a long time to take hold. Object oriented programming has been around a long time, but only recently has it become the mainstream method of choice. I wonder what current non-mainstream technologies will end up being considered revolutionary 40 years from TODAY.
In honor of them, here's some timely object oriented jokes (note: i did not come up with these)...
"How many Object Oriented programmers does it take to change a lightbulb?"
"None, they send it a message, and it changes itself."
"How many C++ programmers does it take to change a light bulb?"
"You're still thinking procedurally! A properly designed light bulb object would inherit a change method from a generic light bulb class!"
"The nice thing about C++ is that only your friends can handle your private parts."
"OK, I admit it: My girlfriend's just an object to me. Unfortunately, there is some information hiding, but thankfully, she's fairly encapsulated, nicely modular, and has a very well defined interface!
"Have you heard about the object-oriented way to become wealthy?"
"No..."
"Inheritance."
"Facts are meaningless. You could use facts to prove anything that's even remotely true." - Homer Simpson
As someone who has dabbled with OOP and can appreciate the scope of achievements it has facilitated, I am sure that this award is well deserved. What is a shame is that this award is relatively unknown (I had never heard of it until today) and I strongly believe that people who make such a fundamental contribution to society should have a greater profile awards wise. The Nobel prizes are a classic example of high profile 'achievement awards' which have been extended in the past (Economics in 1968) - maybe there should be a 'nobel prize' for computing science or, alternatively, the industry should work to promte an existing award (such as this) in the minds of the public.
fantastic joke. managers in panicing, techies laughing.
Acts@core.mailboks.com Acrux@core.mailboks.com Adam@core.mailboks.com Adar@core.mailboks.com Ada@core.mailboks.com
I heard them speak in Palo Alto about 20 years ago. Xerox PARC latched onto their ideas very early creating SmallTalk, Mesa, and ObjectivePascal. The last was the basis of much Macintosh software. Prof. Wirth in Switzerland created Pascal and evolved it into Modula. An east coast company combined C and SamllTalk into ObjectiveC, which became the basis of the NeXT user interface. ObjectiveC was more reliable and commercially suported than the buggy C++ coming out of Bell Labs at the same time. However, C++ was initially freeware which allowed it to evolve past its weakness and get adopted by large parts of academica.
Another interesting development in programming language features is Aspect or Multidimensional language support. The idea is that not all programming concerns are compositional or hiearchical in nature as Object Oriented Programming requires. Some Software concerns crosscut many objects. The traditional example is logging designs. The 'concern' logging 'crosscuts' the entire object base. Please take a look at AspectJ for information on a java Aspect Engine.
There probably should be something, a couple of semesters in the history of Computer Science, just so that folks can really know and appreciate the technical barriers that had to be overcome.
Given that many of these guys are still alive, it would be good to have accurate information, instead of geeks depending on various hollywood movies for their education.
"It is a greater offense to steal men's labor, than their clothes"
Further jokes (including the ones above, I'm guessing this is where the poster got them) are here.
Smalltalk is a great language. It will even mow the lawn, wash the dishes and feed the kids. Unfortunately it will also wash the lawn, feed the dishes and mow the kids.
ESR gave a lecture here a couple of years ago, and after the lecture he got the text-book in SIMULA we've used in beginner's courses. Along with that, the story why we're not all speaking SIMULA was cited:
Donald Knuth visited the University of Oslo during a sabbatical in 1970, and after working with SIMULA, he liked it so much he wanted to bring it home with him. Nygaard et al said yes of course, but unfortunately, it wasn't theirs to give, as it was the Norwegian Research Council for Science and Humanities that owned the copyrights. And they said, "no, but you may purchase a license". Knuth said, of course "oh, too bad".
If this story is inaccurate, I trust somebody will correct it... :-)
A lesson to be learned is that if you protect your IP too vigorously, you are more likely to loose it all than gain anything.
SIMULA was replaced by Java here in 1996 (I think) in the beginner's course. That's after I took it. That was the final stronghold... :-)
BTW, I posted:
2002-02-05 15:30:44 A. M. Turing Awards For OOP (articles,news) (rejected)
But at the time of the submission, it wasn't posted anything on ACM's site, so I kind of understand it.
Employee of Inrupt, Project Release Manager and Community Manager for Solid
...or at least I have always considered it as such. Therefore, I was discouraged by Kristen Nyggard's poor lecturing technique (note that have only attended a single MIT guest lecture by him this past fall - he may have a signifcantly better approach under different circumstances).
The lecture was _terrible_ - here's why:
His lecture was promoted as being an overview of new methods of teaching object-oriented programming methodology in ways that are complementary _and_ dissimilar to procedural programming, using an idea of basing examples on "models of sufficiently complex systems". His primary example (addressed in the lecture) was a restaurant -system in which customers, waiters, seating, and interactions would all be modelled in an OO language. Great, you say, that sounds very interesting - and it is, if you are interested in pedagogy and CS (i.e. how people can effectively teach and learn CS concepts).
Unfortunately, the 100-minute lecture was primarily made up of a history of Simula and other OO languages which Nyggard had worked on, which did little/nothing to illuminate his main points. A 10-minute overview would have provided just the right amount of background, but 60+ minutes of quasi-superficial information about Simula and its descendant languages is exactly the kind of thing that _shouldn't_ be conveyed in lecture format. That's the kind of information which should be read, or be sprinkled amongst practical information in lectures teaching the language.
Even worse were the illustrations for his "restaurant-system" example; while competently rendered (apparently by an illustrator friend of his), the images were crowded with idiomatic in-jokes which detracted from understanding the interactions which were the focus of the excercise. (especially confusing were the jokes requiring familiarity with european/scandinvian culture - he seemed disappointed that we were not laughing.)
All I wanted from this lecture was specific details of a new OO pedagogical method, and hopefully some case study examples. There might have been some of this at the end, but I was dozing in and out during the last 20 minutes, and while I was awake I noticed none of this.
I'll make the obvious trolling comment here about computer scientists/programmers being too focused on their work to bother figuring out how to speak with other people/communicate their ideas effectively.
Note to pioneers: the best-promoted ideas, not necessarily the most advanced or interesting, get the most mental currency - look to C, look to PERL. If you can only evangelize as effectively as Nyggard (don't get me wrong, SIMULA/et al. are _very cool_ - just poorly promoted) I am much less surprised at the failure of OO to become the "default" programming approach.
Sheesh.