Slashdot Mirror


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.

91 comments

  1. Looks like its half way to a slashdotting already by JohnHegarty · · Score: 5, Informative

    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.

  2. PostgreSQL Object Oriented Programming? by Anonymous Coward · · Score: 1, Redundant


    P.O.O.P

  3. Re:Looks like its half way to a slashdotting alrea by Arimus · · Score: 1

    Yep, the infamous slashdot DoS occurs again.

    Anyway thanks for grabbing it before the envitable happened.

    --
    --- Users are like bacteria -> Each one causing a thousand tiny crises until the host finally gives up and dies.
  4. A suggestion by f00zbll · · Score: 3, Interesting

    Perhaps /. can interview the winners and shed some light into the early development of OOL.

  5. A bit late ? by boaworm · · Score: 2, Troll

    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
    1. Re:A bit late ? by morbid · · Score: 2, Insightful

      It's amazing that this sort of thing was being done 40 years ago. So, what comes after OOP?

      --
      I'm out of my tree just now but please feel free to leave a banana.
    2. Re:A bit late ? by jodonn · · Score: 1

      Even the Nobel prizes are often handed out for research done 20 or 30 years beforehand. It may be that they wait to see what the impact of the research turns out to be before bestowment.

    3. Re:A bit late ? by Sircus · · Score: 5, Insightful

      The problem is that straight after his lunar trip, you could tell that Armstrong was Astronaut of the year. In 1980, though, you might have thought Pascal was a good, recent, world-beating innovation (to pick a possibly bad, but nonetheless useful example). History shows that C won out, and was augmented from things in the OO field to give C++. So, in CS, things take time to prove themselves.

      Granted, you could pick XML as a more recent thing that's going to have long-term improving effects. But it's not really a huge innovation, and it may turn out in 5 years that it's not as relevant as everyone thinks it's going to be.

      I guess the conclusion would be that buzz-words make for bad awards.

      --
      PenguiNet: the (shareware) Windows SSH client
    4. Re:A bit late ? by adubey · · Score: 4, Insightful

      > Really, what is the use with giving the price to something which is already a standard ?

      So the prize committee don't have to make a "political" judgement. Even 10 years ago, OO languages were still "up-and-coming", and it wasn't clear that they would strongly influence the field. Since that time, C++ has been standardized; in MFC and OpenStep, the two most widely used desktop operating systems have an OO API; Java has been introduced and became widely popular; structured systems analysis techniques have been extended to objects by Rummelhart and Booch; and OO databases have been popularized.

      Why is making a risky decision a bad thing to do? The problem is if the prize committee "guesses" wrong. They pick a winner who develops a technology that ultimately isn't of much use. This degrades the stature of the award. This might be one of the reasons the Nobel prize is also quite conservative, as another poster mentions.

    5. Re:A bit late ? by dhogaza · · Score: 2

      Well ... I'd agree that it's a bit late in that they really deserved to have received this prize years ago.

      But seeing as they didn't, it's a fine choice for today. Simula's introduction of classes was a very significant contribution to language design and they deserve to be rewarded for it now.

      While they're still alive.

      This is about 35 years after they developed Simula, and when I saw Ole Dahl speak back in 1980 he wasn't exactly a kid by any means.

    6. Re:A bit late ? by Zeinfeld · · Score: 5, Interesting
      Granted, you could pick XML as a more recent thing that's going to have long-term improving effects. But it's not really a huge innovation, and it may turn out in 5 years that it's not as relevant as everyone thinks it's going to be.

      I don't think anyone should get a Turing for XML, the inventive step took place in SGML about 15 years earlier. XML is simply a cleanup of SGML that removes incompetence, idiocy and illogic from the SGML design. The basic principle is the same though. SGML was too badly executed to give Goldfarb any awards.

      Rather than give Dahl and co an award I would much rather people looked at their ideas and acted on them. People slap each other on the back over their use of 'object oriented' languages, but Java and C# both offer only a small part of the power of the OOP model and C++ offers the wrong parts.

      The modern OOP languages offer only the data structuring concepts, Simula also had a message passing concept which has largely been lost. It took me ages to work out that the reason the message passing explanation in the C++ book was so hard to follow is that it is actually irrelevant to C++.

      A true fine grained parallelism model with message passing would be very useful at this point in time when a lot of programming projects involve networks and GUIs. The pthreads model is too low level. It is a pity that the developers did not take note of the fact that a year after inventing monitors, Hoare invented CSP which is a more powerful model.

      To give concrete examples of the benefit of deep grained parallelism and message passing consider how often Windows halts waiting for input in some dialog box in a different window or how often an X-Window will be left unrefreshed during processing. The reason is that doing the job properly requires multithreading and the pthread model is to cumbersome for most developers to deal with.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    7. Re:A bit late ? by entrox · · Score: 1, Redundant

      Some people say Aspect Oriented Programming (AOP) comes naturally after OOP. Instead of dividing everything into classes/objects, you divide into 'concerns' and, using some formerly specified engine, weave those together to produce your code. It looks very promising, but it's 'research in progress'.

      --
      -- The plural of 'anecdote' is not 'data'.
    8. Re:A bit late ? by morbid · · Score: 0

      Thanks.

      --
      I'm out of my tree just now but please feel free to leave a banana.
    9. Re:A bit late ? by Sircus · · Score: 1

      I don't think anyone should get a Turing for XML, the inventive step took place in SGML about 15 years earlier. XML is simply a cleanup of SGML that removes incompetence, idiocy and illogic from the SGML design. The basic principle is the same though. SGML was too badly executed to give Goldfarb any awards

      Sure - like I said, it wasn't that innovative. I was just pulling examples out of the air to give an idea why it's better to award concepts that have proven themselves winners over time, rather than those that seem like a good idea now.

      --
      PenguiNet: the (shareware) Windows SSH client
    10. Re:A bit late ? by Vintermann · · Score: 1

      "XML is simply a cleanup of SGML that removes incompetence, idiocy and illogic from the SGML design"

      I think that deserves an award in itself.

      --
      xkcd is not in the sudoers file. This incident will be reported.
    11. Re:A bit late ? by STSeer · · Score: 1

      Hoare invented CSP which is a more powerful model

      What's the CSP? Please?

    12. Re:A bit late ? by Zeinfeld · · Score: 2
      Hoare invented CSP which is a more powerful model

      Communicating Sequential Processes. It is an algebra for describing parallel processes that communicate with each other. The key feature of CSP is that when the processes communicate they rendezvous, that is if A is trying to talk to B and B is not ready then A will wait until B is ready, contrawise B will wait if A is not ready.

      The main application of CSP in program language design was the inmos Occam programming language.

      The advantage of CSP is that it is much easier to write parallel programs because communication between processes is handled in the same way as communication between processors. The type of structures that have to be kludged up out of semaphores and shared memory in UNIX/C or Windows/C can be provided as native language features.

      What CSP ammounts to is a start on developing the equivalent of structured programming constructs for network computing applications. In practice you need to add a few extra structures such as FSM support and structures to handle termination and fault handling is a decent fashion.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    13. Re:A bit late ? by STSeer · · Score: 1

      Thank you very much, I'll google for more :)

    14. Re:A bit late ? by Circuit+Breaker · · Score: 1

      Actually, threads are truely evil and are rarely required for anything. In fact, in MS-Windows, most of the times what you describe happens because one thread is waiting on a semaphore held by another thread or process (Outlook is a fine example of this).

      But in general, you're very much right on the money (except perhaps by implicitly assuming that XML is clean since it's cleaned-up SGML; XML is cleaner, but still underspecified and mostly abused).

  6. Mark you calendars! by Anonymous Coward · · Score: 4, Funny

    It's not every day that a group acronymed as POOP shows up on the Slashdot front page!

  7. The next one by Anonymous Coward · · Score: 0

    The next award goes to SUN for the development of the virtual machine for JAVA. Or maybe that's to close to the turing machine and therefore doesn't count as an outstanding achievement. Hell, it can't even solve the halting problem. Never mind.

    1. Re:The next one by Anonymous Coward · · Score: 0

      The Java (TM) VM is one of the worst examples of an ancient (in computer time) concept.

      The IBM Smalltalk VM is signifigantly better designed.

  8. Interesting by Cinnibar+CP · · Score: 3, Insightful

    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.

    1. Re:Interesting by yatest5 · · Score: 0

      I wonder what current non-mainstream technologies will end up being considered revolutionary 40 years from TODAY.

      Linux maybe?

      --
      • Mod parent up! [a] by Anonymous Coward (Score:5) Thurs, June 31, @13:37
    2. Re:Interesting by jeremyp · · Score: 1

      In technology terms, Linux is about as far from revolutionary as it's possible to be at this time. What is revolutionary (or was revolutionary five years ago) is the organisation of the development effort (i.e. in Raymond terms, the Bazaar development model) and it's too early to tell if it's going to catch on.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
  9. Ole - that's interesting by DrSkwid · · Score: 0, Offtopic

    Object Linking and Embedding

    MS technology

    is it a coincidence or deliberate, anyone know?

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    1. Re:Ole - that's interesting by DrSkwid · · Score: 1

      the winner's name is Ole

      I ask if there is any conenction with the name of Ole the OOP component framework from MS and TWO people mark me as offtopic!

      crack

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  10. Object Oriented... by bje2 · · Score: 5, Funny

    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
    1. Re:Object Oriented... by Anonymous Coward · · Score: 1, Funny

      "The nice thing about C++ is that only your friends can handle your private parts."

      #define private public

      Yes I know it's a joke, but....

    2. Re:Object Oriented... by kin_korn_karn · · Score: 3, Insightful

      "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!

      Anyone who would get this joke doesn't need to worry about girlfriend issues at all, I'd imagine :)

  11. Was it a new idea or had computers caught up? by thogard · · Score: 1

    I seem to remember that Marvin Minsky was doing OOD type stuff at MIT in the 1950's. He got his Turing award 32 years ago so maybe they are looking at newer stuff now.

  12. Awards such as this should have a higher profile by phil_atk · · Score: 3, Insightful

    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.

  13. funny story... by bob@dB.org · · Score: 4, Funny
    Kristen Nygaard and Ole-Johan Dahl was the subjects of a great april fools joke almost two years ago. in a story in the norwegian media (like at http://www.digi.no/digi98.nsf/pub/dd20000401010000 dsk8022888533 , don't bother clicking if you don't read any scandinavian languages) it was reported that the norwegian suprem court had finaly decided that Kristen Nygaard and Ole-Johan Dahl should receive compansation for ther work in inventing OOP. The compancation was to be in the amount of NOK1.00 (about us$0.10) per 1000 objects instanciated runtime. for object utilizing inheritance, the compansation should be increased by 12.5% per generation.

    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
  14. Xerox PARC by peter303 · · Score: 3, Interesting

    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.

    1. Re:Xerox PARC by markj02 · · Score: 2, Insightful
      This isn't a case of a bad language winning because it was free (in fact, neither was free). Objective-C clearly was the better language for building GUIs and similar applications; C++ is not very good for those uses. But C++ is better than Objective-C for scientific applications, numerical algorithms, and embedded systems, and that's why it got widely adopted. The fact that industry then turned around and used C++ for GUI toolkits, well, don't blame the initial adopters of C++ for that. Note also that Simula is much closer to C++ than to Objective-C.

      Overall, neither language really deserved to "win". There were better languages available then, and there are better languages available now.

    2. Re:Xerox PARC by Guppie · · Score: 2, Insightful

      Apparently, Xerox PARC originally wanted to license Simula, but the Norwegian Research Council (http://www.forskningsradet.no/) demaned a little bit too much money for it, 1 Million $ or something, so PARC ended up making its own language (Smalltalk) instead.

      Right there, the Norwegian government blew away the chances of making Simula a world-dominating language. A pity for Dahl, Nygaard and the prestige of their university, but maybe not a great loss for humanity. Having programmed in Simula, I have to say it's still a feature-poor, slow-performing (but interesting) language.

  15. OO Compliment: Aspect Oriented Programming by theITCH · · Score: 2, Interesting

    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.

  16. History of Computer Science by Alien54 · · Score: 4, Interesting
    There are likely many people whose vital achievements go unrecognized, and are under acknowledged by many younger programmers.

    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"
    1. Re:History of Computer Science by Pig+Hogger · · Score: 3, Interesting
      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.
      Many navies have tallships to train cadet recruits in seamanship. Why wouldn't computer students have to write a program or two on punch cards and feed them to an old CDC pile of blinkenlights, and also toggle-in a bootstrap loader on a PDP-8 front-panel?
    2. Re:History of Computer Science by tssm0n0 · · Score: 1

      Many navies have tallships to train cadet recruits in seamanship. Why wouldn't computer students have to write a program or two on punch cards and feed them to an old CDC pile of blinkenlights, and also toggle-in a bootstrap loader on a PDP-8 front-panel?

      Well, the navy is a bit different than the computer science field. Navies are filled with tradition, which is an important part of how the navy functions. It wouldn't be worth it for a school to maintain the ancient historial computer equipment just so that students can know what it was like back in the day. Not to mention that the time spent learning to program on punch cards can be used to learn a modern language that they can use in real life.
      I am deffinitly for a history of computing requirement. I would have loved to have heard more about the history of the field, even if I will never have the opportunity to work with most of the old school machines.

    3. Re:History of Computer Science by Alien54 · · Score: 1, Offtopic
      Why wouldn't computer students have to write a program or two on punch cards and feed them to an old CDC pile of blinkenlights, and also toggle-in a bootstrap loader on a PDP-8 front-panel?

      on the other hand, MS will never release the code to Win 1.0 to the public domain. (even though you can still see what it looked like) or read the original article in Byte that announced it.

      I like this line describing Windows: "Microsoft Windows is an installable device driver under MS-DOS 2.0 using ordinary MS-DOS files." Look how far they have come [smile]

      --
      "It is a greater offense to steal men's labor, than their clothes"
    4. Re:History of Computer Science by Anonymous Coward · · Score: 0
      That, and unlike Navy midshipmen and Coast Guard cadets, kids today that want to be programmers are wussies and couldn't deal with non-interactive batch processing, as they lack the moral fibre.

      ~~~

    5. Re:History of Computer Science by Amazing+Quantum+Man · · Score: 2

      I still have my Windows 1.03 disks. It came on 5 360K floppies (plus one more for Windows Write).

      You could either install to floppy or hard disk. It used a tiled window interface (instead of overlapping windows).

      --
      Fascism starts when the efficiency of the government becomes more important than the rights of the people.
    6. Re:History of Computer Science by Anonymous Coward · · Score: 0

      Are you kidding? Most CS students get pissed off if you try to teach them Java now. They just want to learn "this new J2EE language."

      I can't tell you how disturbed I was when I finally realized that MIT was a trade school.

    7. Re:History of Computer Science by Anonymous Coward · · Score: 0
      There probably should be something, a couple of semesters in the history of Computer Science

      Yeah, there are courses like that at my school. They're often referred to as joke courses, easy-ass crap, skip classes, etc.

      People take them to fill in slots in their schedules that would normally be filled with horrible math courses on propositional logic or real analysis. [shudder]

  17. More jokes by sheetsda · · Score: 4, Informative

    Further jokes (including the ones above, I'm guessing this is where the poster got them) are here.

  18. Here's one I remember from Compuserve by ralphc · · Score: 3, Funny

    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.

  19. Sigh by NiftyNews · · Score: 1, Flamebait

    ...and still no reward for me, the people-oriented programmer. What, I'm not cheerful and polite enough?

  20. What's that whirring sound? by Anonymous Coward · · Score: 0
    Oh. That's just the sound of Alan Turing. Spinning in his grave.

    ~~~

  21. Timely. by Uberminky · · Score: 0, Offtopic

    Hey, yunno what? I really like gravity. I mean... I really like it. That Isaac Newton guy? He deserves a medal or something.

    --

    The streets shall flow with the blood of the Guberminky.

  22. OOD? No, thanks. by Anonymous Coward · · Score: 0


    I don't really think much of the OO paradigm. It sure has its uses but, under most circumstances, it doesn't really buy you anything that you can't get from more traditional approaches.

    I notice that, when confronting such views, OO afficionados often claim that what happens is that the paradigm is seldom, or never, correctly applied - much like old-fashioned revolutionaries, when apologizing about the failure of socialism.

    Anyway, maybe I am negatively biased as far as the OO paradigm is concerned, in no small measure due to the fact that I was introduced to it via C++, probably the biggest piece of shit ever to come out of a discipline prone to produce much thereof.

    1. Re:OOD? No, thanks. by DarknessInBlindingLi · · Score: 1

      You said, the OO paradigm really doesn't buy you anything, and you are tecnically correct (the best kind of correct), but it will buy much for the crowd that might be using your sources. At least if you design your system according to the OOD principles.

      Whenever you use an OO Language (and your right again, you could argue wheater C++ is an OO language) without applying sane OO design principles you are doing something wrong. Just using an OO capable language doesn't make your code OO, and a badly designed OO system tends to confuse even more than a badly designed traditional one.

      But try to imagine stuff like CORBA in an massivly distributet environment, an heterogenous choice of languages with an horde of developers without the OO partadigma....

    2. Re:OOD? No, thanks. by jeremyp · · Score: 1

      A bad programmer always blames his language.

      I've written code in many computer languages including C, assembler, Cobol, Fortran, C++, Pascal, Basic (Visual and otherwise), Lisp, Java, Smalltalk etc etc etc. It's possible to write good code - or bad code - in any of them. It's also possible to use object oriented concepts in any language. In my experience, the best code always has some level of object orientedness about it - even if it's just encapsulation.

      I will admit, that even though C++ is my favourite language, the worst code I have ever seen was in C++.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
  23. Why we're not speaking SIMULA by KjetilK · · Score: 5, Interesting
    I'm going to finish an MSc in cosmology at the University of Oslo, tomorrow, and I had my share of SIMULA. It's a very nice language in many aspects, very easy to learn, you get the OOP concepts in very good. Once you understand anything, you understand OOP.

    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
  24. No kid indeed by Guppie · · Score: 1

    I had the pleasure of attending Dahl's last lecture-series, right before he retired (sort of) in 1998. I think he was 70 years old, totally eccentric and absent-minded, forgot to show up some days, but still the smartest brain in the room when it came to CS problems. My favourite living CS-person!

  25. ...oo is a very communication-oriented concept... by jdbo · · Score: 2, Insightful

    ...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.

  26. Piddly CS Nobel Prize Award by nafeger · · Score: 1

    Its unfortunate that, the CS community can only come up with a 25k prize for our highest honor.
    Two individuals fundamentally alter code development and freely offer up there services to whatever individuals desire it.
    I think it would be be a worthwhile cause to bump this prize up considerable with the net effect of having more smart people be rewarded for giving their research away to the community at large.

  27. Wouldn't it be funny... by Anonymous Coward · · Score: 0

    ...if the Turing Award went to an object-oriented language that wasn't Turing complete?
    <cheap shot>I'm thinking visual basic here...</cheap shot>

  28. What's with the headline? by maniac11 · · Score: 1
    COMPUTING'S HIGHEST HONOR AWARDED TO INVENTORS OF DOMINANT PROGRAMMING STYLE

    Norwegian Team Developed Concepts for Software Now in Home Entertainment Devices

    What?! "This type of programming is so good it's in yur TeeVee!" <hick>

    Seems like they deserve a better headline than that...
    --
    Guvegrra?
  29. Re:Awards such as this should have a higher profil by Anonymous Coward · · Score: 0

    Sadly there will never be a nobel prize for computer science (or math which I would like to see). The "nobel prize in economics" is not a nobel prize but a prize that the Swedish Central Bank gives out in comemoration of Alfred Nobel.
    Old Alfred would probably never have approved of this prize and his hiers have expressed great concern that this has become known as a nobel prize, which it isn't.
    Anyway, for this reason alone we will never see another prize associated with nobel.

  30. No offense.. by Anonymous Coward · · Score: 0

    As OOP has its uses..

    But where the hell are all you freakin' OO nuts getting off whining and screaming about how everything should be object oriented?

    Are you that dense?

    Christ. Just like the "Everything should be Microsoft!" and "Everything should be Linux!" zealots.

    (I'd include "Everything should be Mac!", but when do you ever hear that? *snicker*)

    1. Re:No offense.. by betis70 · · Score: 1

      Let me guess ... you are a Perl fanatic.

      --
      I forget...are we at war with Eurasia or East Asia?
    2. Re:No offense.. by Anonymous Coward · · Score: 0


      It is rarely beneficial to insult someone (let alone a large group of people) if your intent is with "no offense."

  31. Martin Davis Book by alacqua · · Score: 1
    May I suggest The Universal Computer: The Road from Leibniz to Turing by Martin Davis. It is also available in paperback as Engines of Logic: Mathematicians and the Origin of the Computer . This wonderful book covers the historical foundations of computer science, particularly mathematical logic, up through Turing.

    I apologize if the links don't work. They may be tied to my amazon.com login in some way.

    --

    Move on. There's nothing to see here.
  32. Re:Awards such as this should have a higher profil by Vintermann · · Score: 1

    Why not try to convince them into adding a Nobel price? It has happened before. The Nobel price of economics was not originally one of Nobel's prices, they added it later (and a bad choice that was, IMHO).
    Over here (in Norway) we call computer science informatics, perhaps you should do that too, for the PR effect :-) Makes people think of it as something to do with mathemathics, which is appropriate.

    --
    xkcd is not in the sudoers file. This incident will be reported.
  33. A story about these guys by Vintermann · · Score: 1

    My father who teaches java in a high school told me this story about one of the inventors of Simula (I don't remember who though). His granddaughter asked him to help installing some sort of hardware on her home computer. However since these guys are pretty Unix-oriented and the system in question of course was Windows, his granddaaughter commented to her mother that "Grandpa doesn't really know very much about computers does he?"

    --
    xkcd is not in the sudoers file. This incident will be reported.
  34. What would... by Ziviyr · · Score: 1, Troll

    ...Carl Sassenrath say?

    --

    Someone set us up the bomb, so shine we are!
  35. Gotta love Simula... by yggdrazil · · Score: 1

    I learned object oriented programming when I learned Simula. (It must have been in 1991. I had only programmed in pascal and basic before that.) It's a lovely language. A great language for learning the principles of programming in general and object oriented programming specifically. (Java is probably the next best thing, though.)

    I never really liked the book - "Object Oriented Programming With Simula" by Kirkerud - we used to learn Simula though. Too disorganized and lacked an alphabetic reference of all the imperatives in the language.

    And it's been difficult to find good simula compilers lately. Even in the good old days of sun3, the sc compiler didn't support 8 bit (binary) files properly, and I had to turn to pascal and c.

    And while I respect the scientific effort Kristen Nygaard has made, I can't stand his political views. He's a leading opponent of the European Union in Norway.

  36. How did they win the Turing Award? by marko123 · · Score: 1

    Did they write an OO program that fooled judges into thinking they were conversing with real people on a terminal?

    JUDGES: We are going to award you with this year's Turing Award.
    D&N: Why are you going to award you with this year's Turing Award?

    --
    http://pcblues.com - Digits and Wood
  37. c++/java object oriented programming sucks by Anonymous Coward · · Score: 0

    all this cool buzzword jibber jabber the oo guys like to spout off about is damn irritating. for example, take one of the oo dorks favorite words- encapsulation. encapsulation of data is a waste of time and dangerous. encapsulation prevents code from getting access to data it's gonna get to anyways. this technique usually ends up forcing some kind of data indirection. data indirection is one more layer on the cake that's either gonna slow your code down more or create another place for an error to occur. why not just get directly to the data your gonna use?

    oo sucklers also like the word inheritance. inheritance is for the programmer who cant think in more than two dimensions and needs a way to limit thought so they dont confuse the feeble mind that they have. an orange isnt just a piece of fruit. it's much more then that. treating it like it's just a piece of fruit only just complicates the matter when you want to use it for something else. computers dont think in two dimensions. they dont care about what class an orange belongs to. inheritance is a mind set humans use to limit how many things they have to think about at once. for the average programmer this works but for the great programmers it's nothing more than a hinderance.

    oo programmers like indirection. makes em feel safe. dont be illuded. the extra layer of oo indirection doesnt really stop your precious encapsulated data from getting clobbered. dont have any false illusions about encapsulation. your buddies screwed up data pointer will walk all over your data and turn it into jibber jabber in about 3us.

    the oo flag wavers start arguing about how easy you can re use the code. that's a bunch of b.s. show me one complex project where the code can easily be re-used on another complex project. it dont matter what oo you use or dont use. it's gonna be just as tough any way you do it.

    one of the worst things about c++ are the templates. templates are a disaster wating to happen. if you need a sure fire way of creating a bunch of redundant code and a potential for creating problems that can take months to figure out, templates are your answer. if c++ is for average programmers to be able to all get along and play well together why would you want to give them a method that can create so much confusion?

    for all those that got tought that static keyword in c was used for primative data encapsulation- you've been brainwashed. the static keyword has some very useful purposes that have nothing to do at all with data encapsulation. any embedded programmer will know exactly what im talking about.

    i guess if your an average windows or linux programmer (if you can even call that being a programmer) the concepts of oo programming are a dream come true. for hardcore programming it really isnt that great. oo is nothing more then a way of limiting your brain.

    im not saying go back to the old structured way of programming. i am saying that oo programming has a bunch of limitations and downfalls that should be recognized and jack asses that claim oo is the greatest thing since sliced bread need to wake up.

  38. Should get the IT-Hype Award by Tablizer · · Score: 1

    A critique of OOP from a business domain perspective:

    http://geocities.com/tablizer/oopbad.htm

    OOP has its place, but in general it is over-hyped.

    SUMMARY OF OO FLAWS:

    1. The real world does not change in a hierarchical way for the most part. You can force a hierarchical classification onto many things, but you cannot force change requests to fit your hierarchy.

    2. There are multiple orthogonal aspect grouping candidates and the ones favored by OOP are probably not the best in many or most cases. OO literature is famous for only showing changes that benefit the aspects favored by OO. In the real world, changes come in many aspects, not just those favored or emphasized by OO. Encapsulating by just a single dimension is often a can of worms.

    3. OOP's granularity of grouping and separation is often larger than actual changes and variations. OOP's alleged solutions to this, such as micro-methods and micro-classes, create code management headaches and other problems.

    4. OOP has the habit of hard-wiring the model structure and relationships into the larger program code structure, as opposed to using more change-friendly and multi-view-friendly formulas or expressions (such as relational and Boolean). I lean toward virtual, as-needed structures rather than global ones.

    5. There is no decent, objective, and open evidence that OOP is better. It may just all be subjective or domain-specific. Software engineering is sorely lacking good metrics.

    6. Many of the past sins that OOP is trying to fix are people and management issues (incentives, training, etc.), and not the fault of the paradigms involved. Until true A.I. comes along, no paradigm will force good code. If anything, OOP simply offers more ways to screw up.

  39. Offtopic?? by Anonymous Coward · · Score: 0

    Give me a break. That post wasn't offtopic. Just because you don't find the "humor" to be very humorous, or because you don't agree with what it implies, does not mean it is offtopic.