What if Smalltalk were invented today?

To: Alan Kay
From: The Program Committee
Subject: FAIL

Dear Dr. Kay,

The program committee thanks you for the submission of your paper “Object Orientation – A New Paradigm of Programming”. Unfortunately your paper has been rejected. We had many fine submissions this year, but as you know we must accept no more than 15% of submissions to be considered a premier conference. The reviewers’ comments are attached below.

Reviewer 1 comments: You propose three new language features: encapsulation, polymorphism, and inheritance. Even though your paper was the maximum 12 pages, it discussed each of these concepts only informally, and did not do any rigorous evaluation. The general rule is that evaluation should comprise 75% of the paper, leaving 3 pages to explain your ideas. To do proper Computer Science, you must evaluate new ideas incrementally. I recommend you write three separate papers each evaluating the addition of one of these features to Fortran and doing detailed case studies of the result. In the future, please avoid excessive novelty.

Reviewer 1 evaluation: FAIL

Reviewer 2 comments: You claim that object orientation is in some sense more “natural” and “intuitive” than procedural programming, but offer only anecdotes and hand-picked examples as justification. To do proper Computer Science, such claims must be empirically evaluated. I suggest you do user studies on experienced Fortran and Cobol programmers, measuring how well they can write scientific and accounting programs in your new language compared to existing languages. I strongly suspect you will get negative results, because such professional programmers will find your ideas not at all natural, but in fact quite different from the proven techniques of programming they have mastered. I will not even bother to criticize the claim of having invented a new “paradigm”, for I can think of no objective way of falsifying that statement, and so it is meaningless, and certainly not Science.

Reviewer 2 evaluation: FAIL

Reviewer 3 comments: You propose to add layers of overhead on every subroutine call, and worse, to dynamically allocate working storage. Yet you offer no controlled performance benchmarks to show that you can compete with proven technology. Memory and CPU are scarce resources, and will continue to be so for the foreseeable future. In my opinion, the performance of the language features you propose could only become competitive after 20 years of further research. Such long time horizons are out of the question, both for those in industry as well as those on a tenure track. Proper Computer Science demonstrates immediate quantifiable benefits.

Reviewer 3 evaluation: FAIL

Reviewer 4 comments: The paper shows an ignorance of important related work. For example, there is extensive prior research on inheritance in Legal Software. Also, “polymorphism” reminds me of “polynomials”, which were the topic of my dissertation. When I summarized your paper in 5 minutes to the committee members who hadn’t read it, one of them said it sounded just like what Joe Blow did in the 80′s, so it appears your work is neither novel nor properly researched. To do proper Computer Science you must demonstrate knowledge of the research literature and show how your work is a contribution in addition to it, even if it only seems vaguely similar after reading the paper’s title.

Reviewer 4 evaluation: FAIL

This entry was posted in AgitProp, General. Bookmark the permalink. Both comments and trackbacks are currently closed.

31 Comments

  1. Chris
    Posted April 20, 2009 at 2:35 pm | Permalink

    Sounds like someone’s getting frustrated with all their paper rejections. Don’t lose hope.

  2. Nat
    Posted April 20, 2009 at 2:48 pm | Permalink

    Something I learned in academia: there are three kinds of academic reviews: review by name, review by reference and review by value.

  3. John "Z-Bo" Zabroski
    Posted April 20, 2009 at 2:49 pm | Permalink

    LOL.

  4. Posted April 20, 2009 at 3:02 pm | Permalink

    I thought subtext is really interesting and impressive. Do you have plans to do anything like this with output to functional programming languages – it seems a nice fit for Haskell?

  5. John "Z-Bo" Zabroski
    Posted April 20, 2009 at 3:09 pm | Permalink

    By the way, have you considered that MIT and mainstream academia is a poor environment for your ideas? Why not put a 30 second elevator pitch together and contact Alan Kay’s administrative assistant. Although their main offices are in California, they are geographically dispersed – you could probably still live in Massachussetts and collaborate via Skype as necessary.

  6. Daniel
    Posted April 20, 2009 at 3:12 pm | Permalink

    I sense bitterness… :-)

  7. Frank A. Krueger
    Posted April 20, 2009 at 5:08 pm | Permalink

    “addition of one of these features to FORTRAN” – Haha. I will never bug you again to see some source code in C# or Java.

  8. Posted April 20, 2009 at 9:10 pm | Permalink

    I really enjoyed that! It’s definately a reflection of the computer science academic world. I particurly liked, “In the future, please avoid excessive novelty.” Before I started building Argot I started a Masters in Computer Science where I only lasted about six months. Part of my departure was based on my supervisor saying that I had to find prior work in the field. I looked for a long time but just couldn’t find anything like it. I never did get approval from the research heads to work in the area. I don’t blame them completely though; I had a lot of other things going on which meant I wasn’t able to give the time to completing a masters.

    Also, it’s a pretty lonely place when you’re out exploring new concepts at the fringes. Getting traction is even more difficult because of the leap in knowledge required by most people to understand the new paradigm. I’m convinced that there’s plenty of great paradigms hidden history that never got the attention they deserve.

    My preference has been to continue working with Argot and attempting to build and demonstrate the concepts. I’ll keep improving on them until I discover someone doing something better or I hit a conceptual dead end. I don’t get the luxury of working on it full time, but atleast it moves forward slowly.

    Anyway, all I’m trying to say is keep working on it. Build some prototypes and keep improving until you’ve got yourself another SmallTalk (ie winner).

  9. Posted April 21, 2009 at 3:01 am | Permalink

    Another long time reader here. I assure you that your developments are inspiring and ought not to be let down :) Like #8 I believe that you could break through on your own, by showing it work in practice, at least for you.

  10. Peter C Marks
    Posted April 21, 2009 at 8:07 am | Permalink

    I’ve watched, with much interest, the evolution of your ideas over the last five(!) years. You are converging on a way of programming that I think is quite novel and, importantly for me, useful. Anytime we programmers are presented with a new analytical perspective and also presented with the tools to support this new perspective, we benefit. A large reason why I truly love my profession and have practiced it now for forty five years is because I can count on a periodic “re-freshening” of its paradigms. I love new paradigms! Not for novelty’s sake, but because they enable me to see solutions to problems that may have been intractable at worst or uncomfortable at best.

    So… what do you do now? Disappear for another year? I’m not frustrated at the “Establishment” and its reception of your work. Who really cares what they think? I am, however, frustrated with some aspects of how you are “marketing” Subtext/Coherence. I wouldn’t pretend to have the answers and I still don’t think you are at the right point to open-source Subtext/Coherence. Yet, I do think you can be more public with your efforts. Witness the “selling” of Gilead Bracha’s Newspeak.

    Perhaps “Z-Bo” is right: you might need a change of venue.

    I remain in support,

    Peter

    ———-
    Good questions, which I don’t have the answer to. I am hoping that I am getting closer to having a full language rather than just a sketch of part of one. Then I could build something that is usable for more than a demo. Once I have a base, other people could start helping out. I have been trying to be open, it’s just that I don’t have concrete details to share.

    Academia is not very hospitable, but so far has been the best deal I can find. I do have this mounting feeling that I need to emerge from the cocoon, but I don’t see yet what form that takes. Do you have any insights into how Gilad got Newspeak going?

    Thanks for your faith,
    Jonathan

  11. Posted April 21, 2009 at 10:15 am | Permalink

    Hi Jonathan,

    Not sure I understand you. Are you proposing that to do revolutionary research, we need only to label our research revolutionary? That’s like saying that calling a new building “iconic” is enough to make it an iconic building. Only history can determine whether a building is iconic, and I would say it’s much the same for iconoclasm.

    FWIW, I think you need to concentrate on clarity of presentation, and identifying those parts of your work which are genuinely novel, rather than blaming peer review. Peer review has a social responsibility to be conservative, but as far as I can see it is quite capable of processing well-presented novelty.

    cheers,
    Roly

  12. Posted April 21, 2009 at 11:16 am | Permalink

    Thanks for this! In a follow-up: Dr. Kay gives a detailed response during the “author response period,” and all four reviews end up being exactly the same as they were before.

  13. Dercsár Péter
    Posted April 21, 2009 at 1:47 pm | Permalink

    Could you please post the real reviews about your paper? Having read through it quickly, I found it coherent, meaningful and straightforward. And readable as well. I really would like to know what the reviewers had to say about it. Thanks

  14. John "Z-Bo" Zabroski
    Posted April 21, 2009 at 2:22 pm | Permalink

    Roly,

    Computer science as a discipline is falling to the same bad practices that affect other sciences.

    Satire is an affective way to deliver this point across to normal people.

    What I gather Jonathan is saying is that it is bogus that he has to come up with a programming language, and then after making all the key decisiosn, go back and give credit to others for their silly, failed proposals that couldn’t find acceptance among practitioners. Moreover, how do you explain your ideas when people expect you to exhaust your paper “paying homage to the ancestors” by citing prior work? At this point, the paper devolves into becoming half new idea and half deconstruction of an old idea. An alternative is to first write a “review paper” deconstructing the faults of existing approaches, and then presenting an alternative solution in a “novel, new-directions (Onward ’09)” paper.

    Peer review doesn’t have a social responsibility to be conservative. It has a responsibility to do due diligence in assessing new ideas.

    Honestly – let’s play a game. What novel papers have you seen out of OOPSLA in the past ***ten years***? Separate the kitchen coals from the diamonds for me.

  15. Posted April 21, 2009 at 4:25 pm | Permalink

    It’s a joke guys. Lighten up. Anyone who has had a paper rejected will get it. As to my paper, I submitted it to Onward, which has different standards explicitly to counter what I am parodying.

  16. Posted April 21, 2009 at 5:19 pm | Permalink

    John,

    Instead of “conservative” I should have said skeptical. The responsibility of the scientific process is not just to produce novelty, but to produce new knowledge we can rely on. Part of the due diligence process you mentioned is assessing the work in the context of what has gone before. Just stating that something is radically different to everything that has gone before does not make it so. Otherwise revolutionary new ideas would be rather easy to obtain.

  17. Posted April 21, 2009 at 5:23 pm | Permalink

    Jonathan,

    Luckily I rejected my own paper for Onward!, thus saving myself the embarrassment of the programme committee’s response. Good luck with yours anyway.

  18. Posted April 21, 2009 at 7:11 pm | Permalink

    This is brilliant!!!
    That’s exactly a kind of evaluation I got for my Masters in Structured Editors :)
    I “didn’t stand on the shoulders of giants” :)
    Awesome read!

  19. John "Z-Bo" Zabroski
    Posted April 22, 2009 at 12:46 am | Permalink

    Jonathan,

    Yes, it’s a joke – but you also don’t exactly have a humble personality :) However, if you were humble, you wouldn’t be so humorous. Luke and I both got a good chuckle out of the rant you took out from the earliest draft of your paper.

  20. Andrew McVeigh
    Posted April 22, 2009 at 3:56 am | Permalink

    Hahaha! This sounds like one of the rejections to one of my papers.

    However if the reviews were anonymous, the 4th reviewer in practice would generally not be so kind or allude to their own work so directly. They would say something like “you have missed the connection between your concept of polymorphism and the well established field of polynomials, which already satisfies the claims made in your paper. there appears to be nothing added by polymorphism that other related areas do not cover in a much better way.”

  21. Andrew McVeigh
    Posted April 22, 2009 at 4:01 am | Permalink

    (oh, just as an aside, I really enjoyed your subtext paper)

  22. Andrew McVeigh
    Posted April 22, 2009 at 5:55 am | Permalink

    @Roly
    >Just stating that something is radically different to everything that has gone before does not make it so. Otherwise revolutionary new ideas would be rather easy to obtain.

    yes, that’s completely true. however, i think you are rather missing the point of the satire.

    the anonymous peer review process, although surely 100% necessary, is flawed. in particular, the bar to move away from current paradigms is so high often as to be hugely difficult to jump over despite often compelling results. further, vested interests in the current “paradigms” often are hidden by the anonymity of the review process. i recently had a paper at a prestigious conference narrowly rejected (accepted only as a short paper). One of the review comments said that to prove my work I should refactor the entire Eclipse IDE using my extensibility approach! That’s a pretty high bar by anyone’s standards.

    i wonder what comments jonathan got back from the original subtext paper. that was quite radical.

  23. Peter C Marks
    Posted April 22, 2009 at 11:46 am | Permalink

    Joke or not, my comments stand.

    Peter

  24. John "Z-Bo" Zabroski
    Posted April 22, 2009 at 1:10 pm | Permalink

    Gilad has hinted that after spending 10 years at Sun, he just got tired arguing Java was a dead-end, not a destination. As I perceive it, Newspeak and Scala are two projects basically born from Sun’s lack of vision and lack of investment in two of its smartest researchers, Bracha and Odersky.

    I’m sure he’d be willing to pass on some off-the-record advice if you just asked him privately.

  25. simon
    Posted April 24, 2009 at 8:06 am | Permalink

    this is how academia is supposed to work. of course it’s always a lot more work to introduce a new paradigm and MOST scientists will be opposed to new ideas – assuming that most of what they do stands on the old paradigm.

    read up on science history. change is slow.

  26. simon
    Posted April 24, 2009 at 8:11 am | Permalink

    “(…) I started a Masters (…) Part of my departure was based on my supervisor saying that I had to find prior work in the field.”

    doing your masters degree you are not qualified to do original research. you can have new thoughts but those must be – very strictly – based on prior work.

    doing your phd you are *required* to do original research.

    i’m sorry if it looks like i’m trolling, but some of you don’t seem to accept how academia works (successfully) since 200+ years.

  27. Andrew McVeigh
    Posted April 24, 2009 at 8:30 am | Permalink

    >doing your masters degree you are not qualified to do original research. you can have new thoughts but those must be – very strictly – based on prior work.

    yes, you are 100% right. we must make it clear to all non-phd students that they are strictly not qualified to come up with new ideas or original thoughts. until they get “blessed” to do a phd?!?!

    >i’m sorry if it looks like i’m trolling, but some of you don’t seem to accept how academia works (successfully) since 200+ years.

    are you saying the process doesn’t have flaws or couldn’t be better, or we can’t nitpick about flaws in the review processes? or is that too original a thought for you?

  28. John "Z-Bo" Zabroski
    Posted April 24, 2009 at 10:42 am | Permalink

    Simon,

    NO.

    Read Michael Michael Crichton’s Caltech Michelin Lecture, “Aliens Cause Global Warming.” http://brinnonprosperity.org/crichton2.html

    The past 200 years of science is dominated by politics. The acceptance of this fact can be blamed on the hobgoblin of over-specialized minds who can’t actually produce new ideas.

  29. Sean McDirmid
    Posted April 26, 2009 at 7:40 am | Permalink

    Awesome satire! I participated on a program committee once and was a bit discouraged in my experience, for reasons that are touched on by the satire. I doubt the future of OO will come out of OOPSLA or ECOOP, or even Onward for that matter. The best way to have an impact is to put prototypes out there for people to play with.

  30. Posted April 27, 2009 at 3:27 am | Permalink

    Jonathan,

    First, nice work. It saddens me that few people seem to appreciate (or even recognize) A Modest Proposal these days. I can empathize with the difficulty of both writing about new ideas and convincing others they are worth investigating. I’d like to echo John Zabroski’s comment about checking out Alan Kay & the work being done at VPRI. In particular, I suggest reading the STEPS paper [1] if you have not already.

    For some additional motivation, perhaps you might be interested in “You and Your Research” [2], “The Computer Revolution Hasn’t Even Started Yet” [3], and “A Conversation with Alan Key” [4]. Do remember that there are people out there who recognize the abysmal state of software development and the dire need for a new paradigm.

    Luke

    [1] http://www.vpri.org/pdf/tr2007008_steps.pdf
    [2] http://www.cs.virginia.edu/~robins/YouAndYourResearch.html
    [3] http://video.google.com/videoplay?docid=-2950949730059754521
    [4] http://queue.acm.org/detail.cfm?id=1039523

    P.S. It sounds like quite a few folks in this thread would benefit from reading Thomas Kuhn’s “The Structure of Scientific Revolutions”. Some of the boxes, categories, and methodologies being presented seem quite anemic.

  31. florca
    Posted April 29, 2009 at 3:06 am | Permalink

    Do you want your work to succeed or to succeed yourself?

    Please, don’t let the latter corrupt your mind.

    You don’t deserve respect, though I’m sure your work does.

    It’s better to shut up and keep on working.

    If your work is good, it will eventually succeed.

    If it’s not good, you’d better trash it now. You don’t want to a moron like Wolfram, do you?

2 Trackbacks