OK, this is what everyone wants to hear.

OOPSLA was outstanding this year, with an amazing set of invited speakers, including Fred Brooks, David Parnas, and John McCarthy. All we needed was a seance to channel Dijkstra.

Perhaps the most memorable event was the “Silver Bullet Reloaded” panel, featuring Fred Brooks, David Parnas, Martin Fowler, et. al. At the start each gave an opening statement, starting with Brooks, and ending with Fowler. Much was made of the metaphor of a Werewolf as the failures of Software Engineering, and the Silver Bullet as the magical solution. Fowler started his statement with the usual praise of the seminal influence of the Silver Bullet paper, but then suddenly grabbed his throat and fell behind the table choking and yelling. He popped back up wearing a wolf mask, and bellowed that he was quite displeased that he had not been invited to represent his side of the debate. He proceeded to gleefully explain how we mortals always let him triumph through our foolish beliefs and practices. He stayed in character throughout the session. It was a masterful performance, and hilarious.

Parnas’ keynote was all about his tabular specification language, though he calls it “precise documentation” and made clear his disregard for specification languages and the entire Formal Methods community (“anything with a British accent”). In the Mythical Man-Month, Brooks criticized Parnas’ idea of information hiding as a “recipe for disaster”, but then admitted in the second edition that “Parnas was right”. Parnas says he wants that written on his tombstone.

And there was much much more. My own talk was a just a blip on the screen, but worked out well after a rocky start. On my third slide I have a formula that I said I couldn’t simplify in my head, and Guy Steele yelled out “XOR!”. For some reason I said “too bad Java can’t do that” (I know it can), and he said “wrong again!”. It actually wasn’t a crucial point at all, but it rattled me. I mean, Guy Steele is God.

The next thing I knew I was on my last slide, with no memory of having given the talk! Apparently I did, because many people afterwards told me how much they liked it. I was just kicking myself, because in my practice talk someone actually warned me that it might be XOR and I hadn’t prepared for it. I asked some people about the exchange with Guy, but they didn’t even remember it. Memory is weird.

I had a small but enthusiastic crowd after the session talking with me. Guy said he doesn’t like to heckle, but that I really ought to use a “less trivial” example. He also said he thought my talk was the perfect Onward talk, in that it proposed a new and interesting idea that ought to lead to a series of Research Papers. (The Research track has a much higher hurdle for “substantiation” than the Onward track.) It was only later on the plane that it occurred to me that the proper response would have been to ask why it is that new and interesting ideas don’t count as Research. Anyway I am happy: at the very least I have managed to make enough of a disturbance to come to the attention of the Gods on Olympus. Blights and plagues are sure to follow.

More importantly to me, Dave Ungar seemed to really like the talk, and we spent lunch talking about a bunch of issues. Gregor Kiczales also said he liked it, but we didn’t have time to talk. Hopefully I will get another chance.

Gregor gave a fascinating keynote. My talk immediately followed his, so I missed a bunch of it while I was practicing and fretting. But the part I caught was very tantalizing. He was talking a lot about Brian Cantwell Smith’s Origin of Objects (an almost impenetrable metaphysics of computation). This may be his next big thing after AOP. I picked up enough to think that he might be talking about the same vision I have been following lo these many years.

OK, that’s the dish.

4 Replies to “OOPSLA Gossip”

  1. So I’m excited to see new work on subtext. Graphically editing logic is really cool and your presentation really develops why it is such a powerful representation.

    UML represents code, but really only works for “programming in the large” case, and, in my opinion, really falls down when it’s applied too close to the actual code level. After, if you spend all your time tinkering in UML, you’ll never have a deliverable program in the end (even if you do get a lot of skeleton code). IMHO, UML represents a “top down” approach to bringing graphical representations to the development domain, and there’s remains a big disconnect between the representation and the actual code.

    Subtext fixes this problem by taking a “bottom up” approach and representing models in “programming in the small.” In the future, I’d like to see subtext go “further up.” On other words, is UML the right visualization for manipulating a large Subtext system?

    My next step may indeed address the same issues as UML class diagrams do, specifically relationships.


  2. Congrats to your great presentation! And it’s nice to see, that B.C.Smith ingenious book gets noticed by the right people. It presents the fundamental problem to be solved for creating truely adaptive software: breaking the curse of a static interfaces and single-minded, discrete object schemas.

  3. I haven’t heard of Origin of Objects, but it seems like it is getting great praise here. I can guess that it champions some of the ideas of the recently departed Jean Baudrillard in his System of Objects. Baudrillard is famous for discarding the abstract in pursuit of the general, although his critics and followers might not reduce it so simply – yet it seems to capture Stefan’s comments. Something I’ve recently become interested in that sounds tangential is Ed Sickafus’s USIT (Unified Structured Inventive Thinking) that gets recognition in those “lean project management” weenie circles. =)

  4. I’ve been following your work on Subtext for a while now (since you originally created this website, I think!) and I think it looks very cool. I share Guy Steele’s concern though – how does this work with non-trivial examples? Any chance you’ll provide one soon?

    He was talking about the 6-line Java program at the beginning. Subtext is still not a complete language, so I need to fill in the missing pieces before I can do anything realistic.


Comments are closed.