Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming

Bjarne Stroustrup Awarded 2015 Dahl-Nygaard Prize 200

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.
This discussion has been archived. No new comments can be posted.

Bjarne Stroustrup Awarded 2015 Dahl-Nygaard Prize

Comments Filter:
  • by Anonymous Coward

    It's Sladhdot. Watch me..

  • Poor Alan Kay (Score:5, Insightful)

    by TheRaven64 ( 641858 ) on Saturday January 24, 2015 @02:25PM (#48894163) Journal
    'When I invented the term Object Oriented, C++ was not what I had in mind.' - Alan Kay.
    • Re:Poor Alan Kay (Score:5, Insightful)

      by Calavar ( 1587721 ) on Saturday January 24, 2015 @02:40PM (#48894253)

      C++ is a three-way compromise between good object oriented design, backwards compatibility with C, and high performance. Stroustrup has never billed it as anything else.

      Of course, the fact that C++ is a compromise between three goals that are often at odds means that it isn't anywhere near the best language for object-oriented design (loses to Smalltalk and many others), for backwards compatibility with C (IMO Vala does better -- YMMV), or for high performance (loses to FORTRAN). But it does a reasonable job of "good enough" on all three fronts, and that is what has made it so enduringly popular over the last few decades.

      So, no, C++ isn't the best language for object-oriented programing. It's not even close. But that doesn't mean it is a bad language.

      • by 140Mandak262Jamuna ( 970587 ) on Saturday January 24, 2015 @03:36PM (#48894587) Journal
        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.

        • by Anonymous Coward on Saturday January 24, 2015 @03:49PM (#48894651)

          One of the reasons compilers can often still better optimize FORTRAN code is that FORTRAN makes stronger guarantees about aliasing than C++ does. The lack of such guarantees constrain C++ compilers by introducing more antidependencies that restrict code motion, although in practice most of them are not actually antidependencies.

          Compilers are getting better over time at sorting that out, but sometimes it can't be sorted out because there isn't enough information available statically to do so.

          I'm not a FORTRAN programmer and don't particularly like the language, but FORTRAN is still where it's at for high performance computation. And FORTRAN is a better language today than FORTRAN77 was back in the day!

          • This is why the restrict [wikipedia.org] keyword as added to C, 15 years ago. It's not yet part of the C++ standard, but all the major compilers support it already. FORTRAN is where it's at for high performance only if that's the way you've always done it or if your C compiler is 15 years old.
            • Have you done any comparison with this keyword in C and Fortran? I play in the Finite Element Field. For me the flexibility afforded by C++ out weighs the performance I could get in Fortran. At least the solver people work on a mesh that is not altered, you could estimate the memory needs in one pass and then do the allocations, even for unstructured meshes. I make unstructured meshes, so I would not know a priori the number of tets incident on a node or number of triangles incident on an edge. I build the
        • Does it still win with dynamic memory allocation? How granular is the dynamic memory allocation? Complete like C?

          Fortran's dynamic memory allocation is much easier to work with than C's. You simply declare a variable allocatable, then allocate as needed with the appropriate size. It automatically gets deallocated when it falls out of scope, so no memory leaks (at least since F95).

          e.g.

          real, allocatable :: myarray(:)

          allocate (myarray(1000), stat=ierr)
          (something to check error code ierr here)

          I've written a bit of finite difference code in Fortran. Repeatedly allocating and deallocating can give a huge performance hit, so

          • Repeatedly allocating and deallocating can give a huge performance hit, so I tend to do all my allocations before the main loop. Not entirely sure why the penalty is so big, but it seems to be - these are allocations of hundreds of MB or even a few GB, so the cost of operations done on the arrays should dwarf the cost of the allocation.

            It's a hardware thing -- the memory bus and memory read/write speeds are still a limiting factors, particularly as CPU cores get faster and more efficient. In any code, memo

            • It's a hardware thing -- the memory bus and memory read/write speeds are still a limiting factors, particularly as CPU cores get faster and more efficient.

              Oh yes, I've seen plenty of code that's limited by memory bandwidth. But I don't think that's what's going on here - simply deallocating and reallocating shouldn't actually touch all of the memory in question, should it?

              Fortunately for that kind of code, avoiding such reallocations isn't difficult.

          • Repeatedly allocating and deallocating can give a huge performance hit, so I tend to do all my allocations before the main loop.

            which is the correct way of doing it. Allocating and deallocating, especially larger chunks of memory, requires you to interact with the operating system.
            This should off course be avoided in tight loops.

        • I've been writing a scientific simulation in Fortran for half a year now. I usually like to write in some combination of C and Python.

          While Fortran does make the life of a compiler writer easier, I think C benefits from being a small and very popular language.
          C compilers are just more advanced, which gives it the speed advantage. But the speed difference for most purposes is negligible.
          Choosing the right algorithm and approximations is a much more important concern (factors of 10-100-1000 vs. 1.1-1.2-1.3).
          D

      • Re:Poor Alan Kay (Score:4, Insightful)

        by Uecker ( 1842596 ) on Saturday January 24, 2015 @06:19PM (#48895405)

        I disagree that the complexity from C++ is only the result of being the compromise of these three properties. Ofcourse, such a language would be somewhat more difficult than a new language without backwards compatibility to C, but I still think that most complexity in C++ comes from adding whatever feature was cool at the time *without too much thought*. I had to debug my fair share of subtle problems in C++ code (mostly from other people - I stopped using C++ for my own projects years ago) and usually the problems are the new language features that C++ added to C which cause problems. I know excellent programmers who can use them correctly, but most don't. The reason is that they have surprising and hard to understand properties. See, for example, the keynote of Scott Meyer (Effective C++) at the d language conference this year. He lists a lot of arbitrary design flaws in C++.

        • Re:Poor Alan Kay (Score:4, Insightful)

          by lgw ( 121541 ) on Saturday January 24, 2015 @09:00PM (#48896099) Journal

          You can wrote very fast an elegant code in C++ just as easily as in C - it's just a different tool set. C++ is not for writing code using the same approach one uses with C; It's terrible for that. But once you understand scoped objects, all memory and resource leaks go away (well, you can attach something to a global structure and forget about it, but you can mess that up in any language). That alone is a huge win.

          C++ has one terrible, fundamental flaw: the learning curve is too high. There's just about nothing where the "right way" is obvious, or even common. And so few people get to real expertise that there's not a common library that collects all those right ways and makes them easy to learn! It's a tragedy, really.

      • by Snufu ( 1049644 )

        it does a reasonable job of "good enough" on all three fronts, and that is what has made it so enduringly popular over the last few decades.

        Well put. Real science and engineering often necessitates a compromise of multiple incongruent requirements. For a tool, such as a programming language, the proof is in the pudding, as programmers will usually default to the best tool for the job. I am not a programmer. Is there an alternative language that does a better job meeting the three criteria indicated?

      • Re:Poor Alan Kay (Score:4, Interesting)

        by UnknownSoldier ( 67820 ) on Saturday January 24, 2015 @08:56PM (#48896073)

        > 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... [scee.net]

        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... [open-std.org]

        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?... [youtube.com]

        • Re:Poor Alan Kay (Score:4, Insightful)

          by serviscope_minor ( 664417 ) on Sunday January 25, 2015 @07:50AM (#48897745) Journal

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

          Says the guy who doesn't understand the C++ committee. The C++ committee care very strongly about backwards compatibility, because so does everyon who uses C++. They also care very strongly about compiler adoption because, well, if the compilers don't adopt changes then no matter how much better it is in theory, it's worse than useless in practice.

          * Standardized Name Mangling?

          Would be nice, but would cause major backwards compatibility breakage because all but one compiler would have to change the magling scheme.

          * Standardized ABI so compiler A can call code compiled with compiler B

          Well, GCC won't adopt Microsoft's SEH, because they're slower. Microsoft won't adopt the Itanium ABI, because it would slaughter backwards compatibility and the faster exceptions aren't flexible enough to do what Microsft uses their exceptions for.

          Secondly, if they'd mandated this, we'd have never got a huge boost in exception speed somehwere when gcc 3 came online.

          But basically, it would be worthless because the compiler writers wouldn't adopt it. So why bother?

          * Standardized error messages

          Easy to ask for, almost impossible to specify. Do the error messages have to be in colour or is that optional? Besides it's foolish to claim they have their heads up their asses for not doing something that noone else has ever done.

          * Standardized pragmas to enable/disable warnings for unused variables

          What? Why?

          * Standardized forced inline, never inilne

          Again why?

          * A consistent grammar between forward declarations and function definitions to make it easier to copy/paste

          Nope. Never going to break backwards compatibility. Because no one would adopt the new standard.

          * Multi-column debugging instead of the archaic line debugging

          Outside the scope of the standard. Whine at your debugger vendor.

          *"A Proposal to Add 2D Graphics Rendering and Display to C++"

          The C++ committee have their heads up their asses because they discuss a proposal submitted acording to the correct procedure??

          *For high performance games, most of the C++ features are *ignored* "CppCon 2014: Nicolas Fleury "C++ in Huge AAA Games"

          So your argument against C++ is that it's used in one of the most competitive industries? You know, you don't have to use every langage feature in every project.

          • Would be nice, but would cause major backwards compatibility breakage because all but one compiler would have to change the magling scheme

            All the same, it would be nice if they'd given a recommended method of name mangling, because over time (a decade or more) all compilers would converge on that recommendation. But anyway, to me name-mangling's a minor issue compared to problems like calling conventions, especially with things like smartpointers. Not sure there's a way to fix that problem, but it sure can be annoying when you're trying to interface with C++.

            • You're right, name mangling is only one part of the differences between compilers. This means that standardizing that would be essentially useless, since all sorts of things can differ, and standardized mangling would only exchange fairly clear error messages at link time to screwy run-time errors. (Also, it's an implementation detail, not part of the abstract language.) There are people working for a standard ABI, which compilers could optionally implement.

          • Do you _actually_ use different compiles on different platforms at all ????

            'inline' is only a hint

            I can chose between Microsoft's __inline or GCC god-awful __attribute__((always_inline)) syntax.

            This the reason #define macro's haven't died. 100% guarantee inlining.

            Do you even understand the point of having "standards" ??

            You're constantly complaining about "breaking things." Gee, if only there was a way to migrate, mitigate, and deploy change ...

            * http://www.volvoclub.org.uk/hi... [volvoclub.org.uk]

            This isn't rocket science -

      • for backwards compatibility with C (IMO Vala does better -- YMMV)

        If this is a priority, why not just use C?

        But it does a reasonable job of "good enough" on all three fronts, and that is what has made it so enduringly popular over the last few decades.

        Or, more cynically, it's simple enough to pick up basics fast yet has enough complexity to take years to master and an endless amount of obscure gotchas for true gurus to demonstrate their superiority. In other words, once it got adopted it helped establish a

    • Re:Poor Alan Kay (Score:5, Informative)

      by Cassini2 ( 956052 ) on Saturday January 24, 2015 @02:42PM (#48894273)

      C++. All of programming in one language - except simplicity.

      "When programming in C++, you have to pick the subset of the language that you want to use. Otherwise your code will be unreadable."

    • by presidenteloco ( 659168 ) on Saturday January 24, 2015 @03:44PM (#48894625)

      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.

      • by Half-pint HAL ( 718102 ) on Saturday January 24, 2015 @04:04PM (#48894711)
        Indeed -- a multiparadigm "language" doesn't have to actually be a single language at all. It can be multiple languages with a single datatype system and call mechanism. (I'm personally more interested in this as a way to combine functional programming with procedural programming, but it would work just as well for OO with non-OO.)
        • by chthon ( 580889 )

          Like Common Lisp, e.g.

          • Like Common Lisp, e.g.

            That's not quite what I meant. Lisp can act as a metalanguage, so you can write your own languages in it, but then every single program ends up with its own language.

            I'm thinking or a language that consists of multiple "variations on a theme" to allow multiparadigm programming. The problem with most "functional" languages is that they compromise the core concepts of functional programming in order to be useful -- side-effects and monads mean that the "function" is not a mathematical function (provides the s

      • by Jeeeb ( 1141117 )

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

        I don't think a clean, elegant design was ever the goal. It was built as a practical set of design compromises to fill the needs of the industry at the time.

        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.

        I think it is worth pointing out that there are plenty of languages that took the non-compromising approach and have fallen into obscurity while C++ took off. In the end it was the compromises of C++ that the software industry as a whole actually wanted. C++ for a long time has provided tools such as std::string and std::vector, to mitigate/eliminate th

        • Ha. I'll take the productivity and maintainability of C++ over Java/C# whenever I can. I develop in Java for a living and I use Qt in my hobby programming. I would take Qt any day of the week over anything in the Java world. Especially now with auto/decltype and lambdas, I can write C++ in a more Pythonesque style than I ever could with Java. And the template system got easy enough that even someone like me could do some metaprogramming that reads like normal programming.
      • What was lacking was the courage to drag programmers away from C rules and conventions enough to create a simple and powerful OO language.

        lol

        Lacking courage.

        Don't foolishly insult the creator of the language with such historically ignorant and ill-thought out comments. There are hundreds of morbiund, obscure and unpopular languages for people who wanted to wean people off C. Nobody lacked the courage: hundreds of people have tried.

      • The high degree of C compatibility was probably necessary for C++'s acceptance. Stroustrup thought so, anyway.

        A compiler that compiled both C and some other language would be essentially two compilers glued together. People might use the C compiler, but would regard it as bloated. Just because a compiler is normally shipped doesn't mean people will use it.

        Stroustrup didn't lack the courage to drag programmers from C, he lacked the ability.

  • by Anonymous Coward on Saturday January 24, 2015 @02:41PM (#48894265)

    Contribution to Object Orientation? That's like an award for hammer-based carpentry.

    • Re:Contribution? (Score:5, Interesting)

      by ranton ( 36917 ) on Saturday January 24, 2015 @02:58PM (#48894391)

      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.

      • by rmstar ( 114746 )

        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.

        Well, Kiczales, des Rivieres, and Bobrow come to mind [wikipedia.org]. It's not that well known, but the meta-object protocol and multiple dispatch are so much more powerfull than C++ OO that it is actually not funny.

        • Stroustrup, in his "Design and Evolution of C++", said that he wished he could have thought of a good way to include Lisp's multiple dispatch. (There's a lot more to the Common Lisp Object System, but its basic features are extremely useful.) I don't remember him specifically envying any other feature of another language.

          Of course, Lisp has always been a language that pushed for meaningful abstractions, with performance something considered later, while C++ was a language that considered performance al

      • Stroustrup's original idea was to make a language that combined C's efficiency with Simula's classes, so I'd imagine the people behind Simula count.

  • Who knew? (Score:5, Informative)

    by Marginal Coward ( 3557951 ) on Saturday January 24, 2015 @02:52PM (#48894335)

    Who knew that there was an annual award for such a specialized field? It's surprising that Stroustrup hasn't gotten this award already. Based on the Wikipedia entry about this prize [wikipedia.org], it looks like in 2013 and 2014 they couldn't think of anyone else who created a popular object-oriented language. Maybe somebody should tell 'em about Guido Van Rossum and James Gosling. And what about the STL guy who was just interviewed here? Not to mention the Objective-C guy, whoever he is. (I'm sure I've left many other deserving candidates out - sorry about that.)

    • Award? (Score:2, Funny)

      by Anonymous Coward

      I thought Dahl-Nygaard was an Indian soup.

    • And what about the STL guy who was just interviewed here?

      STL has little to do with OO, it's mostly about algorithms and generic programming.

      • I guess I was fooled by the fact that all of the STL things I've ever used are classes. In fact, offhand, I can't even figure out how you'd do generic programming without some manifestation of objects to allow you to provide overloaded operators.

        To be fair, though, the only two forms of generic programming I know a little about are the template approach in C++ and the duck-typing approach in Python. Both of those rely heavily on classes. Maybe there's something else that doesn't. I guess in C++, for exa

        • To be fair, though, the only two forms of generic programming I know a little about are the template approach in C++ and the duck-typing approach in Python. Both of those rely heavily on classes.

          Presence of classes does not automatically mean OO. In C you also have structs and can store also function pointers in them to mimic virtual functions, yet nobody says C is an OO language. For "real" OO one needs at least derivation/inheritance and virtual method overriding. In C++, one could implement containers, iterators and algorithms without any derivation or virtual functions whatsoever, so in my mind, no OO is involved in STL.

          • I guess we just disagree about what the definition of object-oriented programming is, but I think of it simply as a set of operations that you are associated with a particular user-defined data type. In that sense, I've done plenty of object-oriented programming in C by just passing a pointer to a structure into a function that was intended to operate on that "object". Of course, you can do deriviation, inheritance, and virtual methods using the mechanisms C provides. The system of classes that C++ provi

            • I'd say that some form of inheritance and polymorphism would be necessary for OO programming, not just user-defined types. I suppose definitions vary; I've seen some that would exclude the Common Lisp Object System. In general, the STL parts of the library involve UDTs, not inheritance and polymorphism (which are done with generic and not OO programming).

    • Doesn't Anders Hejlsberg [wikipedia.org], of Turbo Pascal (aka Object Pascal), Delphi, C# and TypeScript fame, deserve at least an honorable mention?
  • Ken Thompson on C++ (Score:5, Interesting)

    by Anonymous Coward on Saturday January 24, 2015 @04:03PM (#48894703)

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

    • Us guys who have worked on C++ compilers have an old joke ...

      There are only 2 problems with C++.

      1. Its design,
      2. Its implementation.

      Fortunately most C++ compilers use the EDG front-end to handle all the crap of template parsing.

    • by Anonymous Coward on Sunday January 25, 2015 @12:53AM (#48896923)

      Stroustrup might agree that he's not necessarily brilliant in the same way Thompson was, but he is disciplined and dogged and willing to talk to people and compromise. He took his job as maintainer of C++ seriously, and was willing to keep at it for three decades, which is something that Nicklaus Wirth didn't do as creator of Pascal for instance. He's been able to attract very intelligent, very dedicated folks to the C++ standardization effort, people who don't resort to juvenile flame wars as we often see breaking out in open source projects.

      I don't think it was fair to say that Stroustrup caved and took whatever proposals anybody had. For example, people have been asking for, and proposing implementations for garbage collection in C++ for more than 20 years, but it's still not in the standard. There is no standard GUI or windowing API, or standards for enterprise application server frameworks, or anything matching wall of books that came out of SunSoft/Oracle for the Java API's. When Stroustrup through his lot behind STL, he was implicitly rejecting many competing proposals, including those submitted by his friends and long time colleagues at Bell Labs. Given the change in paradigm that STL represented relative to the mainstream of O-O collection class libraries, that took guts.

    • Well that just sounds like mean-spirited carping. This for example is demonstrably not true:

      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.

      The committee process is very open and one can see how it works. and it doesn't work like that. And it certainly doesn't have every feature: most proposals get rejected.

      • If you want to see how things got into C++, read Stroustrup's "Design and Evolution". You could also go through the committee proposals (on line and freely available, but tedious reading) and notice that not all of the stuff Stroustrup favors makes it into the Standard.

  • Kudos, and well deserved.

    C++ is my favorite language to program with, over the past few years.

  • In my career, C++ has been my least favorite language. There's really nothing I like about it, save its introduction of // commenting. I hate looking at a page of C++ and not having any idea and knowing I can have any idea ever given that one page. I wouldn't recommend it for anything, for anyone, ever.
  • Comment removed (Score:4, Insightful)

    by account_deleted ( 4530225 ) on Saturday January 24, 2015 @10:01PM (#48896333)
    Comment removed based on user account deletion
  • considered the most prestigious prize in object-oriented computer programming

    I won't put it past /. submitters or editors, but why can't the very intelligent, accuracy-blessed computer coders out there, at least, understand this? If you're not doing any science, then it can't be "computer science."

  • by Tablizer ( 95088 ) on Saturday January 24, 2015 @10:11PM (#48896373) Journal

    Re: "object-oriented computer science" -- Where is the "science"? Where are the theories, the metrics, and the independent repeats to verify?

    • Wait til you see the Political Science department!

    • Where are the theories, the metrics, and the independent repeats to verify?

      There's a bunch of that in Bertrand Meyer's book. I know you don't like that book, but it has theories, metrics, and independent studies.

  • by Tablizer ( 95088 ) on Sunday January 25, 2015 @12:24AM (#48896833) Journal

    Where are the "Functional Science" awards? You gotta have Paradigm Envy, no?

    And how about the Procedural Awards, and the Goto Awards? I hear the Goto team racks up a lot of air-fare.

  • Because you don't understand how to use memory properly so lets make it the compilers problem :-)

How many QA engineers does it take to screw in a lightbulb? 3: 1 to screw it in and 2 to say "I told you so" when it doesn't work.

Working...