Slashdot Mirror


Bjarne Stroustrup Awarded 2015 Dahl-Nygaard Prize

mikejuk writes Bjarne Stroustrup, the creator of C++, is the 2015 recipient of the Senior Dahl-Nygaard Prize, considered the most prestigious prize in object-oriented computer science. Established in 2005 it honors the pioneering work on object-orientation of Ole-Johan Dahl and Kristen Nygaard, who designed Simula, the original object-oriented language and are remembered as "colorful characters." To be eligible for the senior prize an individual must have made a "significant long-term contribution to the field of Object-Orientation," and this year it goes to Bjarne Stoustrup for the design, implementation and evolution of the C++ programming language. You can't argue with that.

5 of 200 comments (clear)

  1. Re:Contribution? by ranton · · Score: 4, Interesting

    I also find it hard to believe an award for pioneering work in object-orientation which started in 2005 just got around to awarding Bjarne Stoustrup ten years later. Since they give out two awards each year, I wonder what the other 18 guys did. Off the top of my head only Alan Kay comes to mind as being more deserving.

    --
    -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
  2. Is FORTRAN still winning? Was Re:Poor Alan Kay by 140Mandak262Jamuna · · Score: 4, Interesting
    Till about FORTRAN 77 it was clearly beating C in scientific computations. But that was mainly because Fortran used static memory allocations and C was littered will malloc and associated overheads. With Fortran99, dynamic memory allocations came to Fortran too. At this point I figured it must be just badly hampered C, all the pain and not much gain. Have not tried it personally.

    But a question for those who have: Does it still win with dynamic memory allocation? How granular is the dynamic memory allocation? Complete like C? or it is a bastardized version where the common block sizes could be defined at run time and then it runs without ever calling free()? I could imagine the language getting malloc() but not free() to retain speed.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
  3. C++ is a travesty of design by presidenteloco · · Score: 3, Interesting

    Because its requirements, chosen by its designer, were misguided and impossible to achieve with a clean, elegant design.

    Attempting to be compatible with C was a terrible mistake. The resulting language complexity, inconsistency, and limitations resulted in an unsafe language much harder to use than is justifiable.

    What would have been wrong with just creating a compiler which was both a C compiler, and also a compiler for a clean OO language.

    Programs could have had C functions in some source files/directories, (considered unsafe, of course), and clean OO modules in other files / directories. An easy way of using data in some C types such as basic numbers, arrays, and strings within the OO language could have been crafted, and a no-muss-no-fuss way of calling C functions from OO and vice versa could have been included.

    What was lacking was the courage to drag programmers away from C rules and conventions enough to create a simple and powerful OO language.

    The ugly compromise approach set back OO programming momentum, cost millions of person-years of unnecessary debugging effort and allowed many, many continued buffer overflow exploits etc. that ruin the reputation of software in general.

    --

    Where are we going and why are we in a handbasket?
  4. Ken Thompson on C++ by Anonymous Coward · · Score: 5, Interesting

    "I would try out the [C++] language [at AT&T] as it was being developed and make comments on it. It was part of the work atmosphere there. And you'd write something and then the next day it wouldn't work because the language changed. It was very unstable for a very long period of time. At some point, I said, no, no more. In an interview I said exactly that, that I didn't use it because it wouldn't stay still for two days in a row. When Stroustrup read the interview he came screaming into my room about how I was undermining him and what I said mattered and I said it was a bad language."

    "[C++] certainly has its good points. But by and large I think it's a bad language. It does a lot of things half well and it’s just a garbage heap of ideas that are mutually exclusive. Everybody I know, whether it’s personal or corporate, selects a subset and these subsets are different. So it’s not a good language to transport an algorithm—to say, "I wrote it; here, take it." It’s way too big, way too complex. And it’s obviously built by a committee. Stroustrup campaigned for years and years and years, way beyond any sort of technical contributions he made to the language, to get it adopted and used. And he sort of ran all the standards committees with a whip and a chair. And he said "no" to no one. He put every feature in that language that ever existed. It wasn't cleanly designed—it was just the union of everything that came along. And I think it suffered drastically from that."

    Ken Thompson; cited in Seibel, Peter (2009). Coders At Work. p. 475.

  5. Re:Poor Alan Kay by UnknownSoldier · · Score: 3, Interesting

    > But that doesn't mean it is a bad language.

    It is when programmers blindly use OOP as a Silver Bullet (TM) and then wonder WTF they run into all sorts of performance problems ...

    "Pitfalls of Object Oriented Programming"
    * http://research.scee.net/files...

    I'm sorry but the C++ committee has their head up their @$$es for *practical* matters:

    * Standardized Name Mangling?
    * Standardized ABI so compiler A can call code compiled with compiler B
    * Standardized error messages
    * Standardized pragmas to enable/disable warnings for unused variables
    * Standardized forced inline, never inilne
    * A consistent grammar between forward declarations and function definitions to make it easier to copy/paste

    void foo(); // semi-colon required
    void foo(); // semi-colon is error
    {
    }

    * Multi-column debugging instead of the archaic line debugging

    foo(); bar(); qaz(); // try setting a breakpoint on bar .. most debuggers only support line debugging?!

    Gee, who would ever want that!

    Yeah, lets ignore real world issues for the past 20 years and keep adding CRAP onto the language ...

    "A Proposal to Add 2D Graphics Rendering and Display to C++"
    * http://www.open-std.org/jtc1/s...

    For high performance games, most of the C++ features are *ignored*

    "CppCon 2014: Nicolas Fleury "C++ in Huge AAA Games"
    * https://www.youtube.com/watch?...