OOPSLA report

Back from OOPSLA, with mixed feelings. This was the smallest OOPSLA ever, and there are some big changes coming next year: they are renaming the conference SPLASH (Systems, Programming, Languages, Applications: Software for Humanity). OOPSLA becomes a colocated conference within the SPLASH umbrella, along with Onward and Dynamic Languages. The Onward program was perhaps the best ever this year, with some interesting preliminary work that was more than just metaphors and hand waving. Jonathan Aldrich’s Plaid language is worth following.

Barbara Liskov gave her Turing award lecture, talking about how she invented Abstract Data Types thirty years ago. She has not been doing language research for 20 years, and says she is still waiting for someone to invent better language abstractions. She has been repeatedly quoted as saying that current PL research is a dead end, and that Java is good enough. The rumor here is that she is a big reason why no PL researchers have been hired by MIT in over a decade.

William Cook’s essay was the antidote to Liskov. I found it insightful, shedding new light on what we have thought were settled issues. Highly recommended.

Concurrency and multicore is still quite hot. All these talks had the obligatory motivation slide about how CPU clock speed has stalled and so multicore is the only way forward and we have to figure out how to program these beasts. I don’t get it. It is a solution looking for a problem. CPU cycles are a limiting factor in only a fraction of software. Server-side software scales across system farms, not cores. Desktop software is rarely CPU bound anymore. CPU cycles are a lot less important than programmer cycles. But people would probably find Coherence more interesting if I pitch it as a multicore solution. It could be, but I have been trying to focus on what is important, not what is popular.

My own talk got mixed reviews. It was generally compared unfavorably to the Flapjax paper (which won the best student paper award) because they both are concerned with the problem of callbacks. Flapjax uses the demonstrated techniques of FRP and has a solid implementation that is actually usable, whereas my talk was only a brief speculation about a fundamentally new approach that is completely unproven. Unfortunately we were scheduled at the same time, but I had a good talk with Leo Meyerovich and Arjun Guha later. They seem like nice guys, and I am hopeful that we can have a productive dialogue in the future (despite the nasty competitiveness that is common in our field). For example, I heard that Phil Wadler ripped Shriram in the Q&A because he didn’t give sufficient credit to prior FRP work. Why can’t we just all get along?

Phil Wadler and Guy Steele were both at my talk. I felt that Steele avoided talking to me for the rest of the show, giving me a stone face every time I greeted him. We have talked many times in the past, but I was dead to him.

Luckily there were a couple of people who liked the talk and went out of their way to tell me and to encourage me to keep going. I have invitations to visit two places once I have some progress to discuss. That was my main goal for this conference, so it was a success, even though I feel more than ever that I don’t belong in Computer Science.

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


  1. philip andrew
    Posted November 1, 2009 at 9:57 pm | Permalink

    I and I think others really like what you are doing, but it would be great if there was something we could use such as a library which can process your language and run it or interpret it. I’m sure there’s many people who would like to front-end such a thing.

  2. Posted November 1, 2009 at 10:58 pm | Permalink

    The problem is that PL conferences are not about programming language design, so they don’t approach your work from the right angle. Sure, OOPSLA is a SIGSOFT/SIGPLAN conference, but has moved more and more to the SIGPLAN side. So, don’t say that you don’t belong to CS. Say that you don’t belong to SIGPLAN. Come to the light side, with SIGSOFT.

    As a side note: SPLASH? I believe that words matter, and that sure sounds like the death of OOPSLA, if the shrinking attendance didn’t mean that already.

    • Posted November 2, 2009 at 8:17 am | Permalink

      You are exactly right that programming language design is not considered a respectable topic in PL research. But SIGSOFT? Like the FSE conference?

      • Posted November 3, 2009 at 10:45 am | Permalink

        Yes, you should consider ICSE and FSE as venues.

        • Posted November 4, 2009 at 3:43 pm | Permalink

          Thanks for the suggestion. I was under the impression that language design papers were even less welcome at ICSE or FSE. Can’t think of any recently, can you?

          • Posted November 4, 2009 at 4:11 pm | Permalink

            Closest examples would be Marc Harman’s work on aspect-based approaches to simplifying the internal complexity of models. This is not really a new language – any more than Alloy is a new language.

          • Posted November 9, 2009 at 2:12 pm | Permalink

            Yes, because it is not language design for the sake of language design. Your work includes language design in terms of modularity, expression, and the task of programming itself.

          • Posted November 12, 2009 at 10:53 am | Permalink

            Have an ALARMING good birthday today!

          • Posted November 12, 2009 at 11:46 am | Permalink

            Thanks Mac!

      • Posted November 12, 2009 at 10:55 pm | Permalink

        It’s unfortunately true that papers on the overall design of a language–as opposed to narrow features–are getting rarer. However, if you’re looking for them, I think OOPSLA (and ECOOP) is still the place to look. Both the Thorn and Flapjax papers this year were in the category of SE-centric language designs; the contributions were focused on the overall design, not any one feature (perhaps as evidence of this, the Thorn group has a separate paper coming out in POPL on their most novel technical feature, “like” types). While ICSE/FSE may be open to some language design work (e.g. I sent the design of ArchJava to ICSE a few years back), I think OOPSLA is still more friendly.

        • Posted November 14, 2009 at 1:42 am | Permalink

          Its very much about the community. There is an OOPSLA community, a POPL community, an ICFP community, a PLDI community, an ICSE community, etc…Each community is receptive to some set of ideas, and crossovers are somewhat difficult.

          On the other hand, an idea that is not fresh in one community might appear more fresh in another community. FlapJax is very much FRP and could be considered ICFP material but would be difficult to publish in ICFP, but actually worked very well in OOPSLA (very surprised to see this paper pop up there though).

          I think I’ll try to write PL-oriented SIGGRAPH paper and see what happens :)

  3. Posted November 2, 2009 at 11:44 am | Permalink

    Very interesting take on Liskov’s Turing Award lecture. On one hand, you and her seem to share the basic point-of-view that these multicore grant dollars would probably be better spent figuring out how to prevent programmers from outright sucking at programming.

    Regarding MIT and no PLT… this has always confused me. I don’t see why the Media Lab and PLT should be separate. Languages like Processing and Field are more engineering than science, and rather disappoint me. — I think more could be done here, but have never asked somebody internal to MIT why PLT doesn’t seem to matter that much in the Media Lab.

  4. Posted November 2, 2009 at 3:11 pm | Permalink

    Jonathan Aldrich’s Plaid language is worth following.

    What about Aeminium? That is the language used in the OOPSLA ’09 Onward paper from CMU titled: “Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs “

  5. Posted November 3, 2009 at 7:33 pm | Permalink

    Any conference will have good and bad things. Its hard for a PL person to switch to an SE conference given the differences in culture. Look at the proceedings for OOPSLA vs. ICSE or FSE vs. POPL, which papers do you prefer reading? Actually, my own answer is often neither…

    PL design is still respectable in the community, but publishing opportunities are rare given the difficulty of coming up with evidence sections (how to show the design is better: type theory? benchmarks? user studies?). That really shouldn’t be surprising though. Incremental improvements to Java/C# with clear evidence will always be much easier to get through a PC. Maybe thats as it should be…

    Since I moved to Beijing, I haven’t attended the last two OOPSLAs. Now I just want to focus on getting my language work out there vs. trying to figure out how to publish (well, I’m sort of trying to figure out how to get Bling published, just not very hard). Publishing to or even attending OOPSLA does little to further these goals. The technical paper sessions have become incredibly boring as the program committee has been dominated by the same people over and over again. They are all (mostly) very smart people, but the program barely changes from year to year, its like watching Spider Man 3. Actually, I wonder if our community has just sort of stagnated, perhaps given the fall off in NSF/DARPA funding so not many PL positions are being created.

    Onward has been a very interesting/fun venue. If I have an interesting/crazy idea, Onward is one venue to try it out, and would be the main reason I would want to attend OOPSLA (its sort of weird going all the way out there with nothing to share).

    The SPLASH reorg sounds like a good idea, although it does nothing to deal with community stagnation. Ideally they should have just reformed OOPSLA to re-include Onward and the DLS, and perhaps some other smaller similar niche conferences to flush it out.

    • Posted November 4, 2009 at 4:14 pm | Permalink

      I suspect some future parts of Subtext/Coherence’s model would not be well-served by publishing it to the PL community, such as better integration of concerns. SPLASH might change this.

  6. Guy Steele
    Posted November 4, 2009 at 12:23 am | Permalink

    Hi, Jonathan. I’m very sorry if I made you feel ignored in Orlando. After a long series of events in October, ending with moderating that workshop all day Monday, I was kind of tired and spacy for the rest of OOPSLA. That’s no excuse for rudeness, though. Please accept my apology. I did enjoy your talk. –Guy

    • Posted November 4, 2009 at 9:32 am | Permalink

      That’s very gracious of you Guy. I should apologize for making an implicit criticism of you in public. I find Human Interaction to be the toughest programming language to master. And there’s no debugger.

      • Posted November 20, 2009 at 12:51 pm | Permalink

        There kind of is a debugger, but it involves humility and caring about people — a combination I would like to see more of in CS.

        • Raoul Duke
          Posted December 8, 2009 at 1:43 pm | Permalink

          or more drinking.