QCon London – Friday


The last day of any conference can sometimes get a weak schedule, since many organizers feel that people have a tendency to be wiped out after all the previous days of conference, and won’t be able to focus as much on the last day. Luckily, QCon and JAOO never does this – the last day is generally at least as strong as any other day. This time around I felt it was a very good day indeed. I saw Stefan Tilkov do a very deep presentation on his thoughts on the balance between generic and specific in architecture and development. Stefan shared his long experience in a funny and thoughtful way that contained lots of interesting insights. After that I managed to catch the last 10-15 minutes of Joe Armstrongs talk about Erlang. This talk was focused on systems that never stop, and Joe’s presentation was based on this, which changed the focus a bit. Sir Tony Hoare was in the audience during this talk, and one amusing moment was when he asked Joe a question about the tradeoff between timeouts and failing fast. Great stuff. This only happens at QCon and JAOO. (As an aside, the evening before I got the chance to sit down and have beers with Steve Vinoski, Joe Armstrong and Rich Hickey. This never happens at other conferences either.)

After the presentation, Hoare asked me if I was interested in being part of a panel during his after-lunch presentation. The presentation was about null references, which Hoare calls his billion dollar mistake. To be fair, I think it was one of those inevitable things, that would have happened sooner or later anyway. Ulf Wiger became part of the discussion, and presented a much better defense than my point about inevitability.

In the DSL track, Amanda Laucher gave a good overview about what Oslo is and why you might want to use it. What I was looking for here was just enough of a look at the tech to see if this is something worth investing more time in. My conclusion was that at this point in time, it doesn’t seem to give me much new that would help me. Especially the Mgrammar stuff seemed to be a not-invented-here copycat of Antlr. Martin corrected me about that, though, by pointing out that Mgrammar actually handles GLR grammars. My intuition is that ANTLRs LL(*) would be able to handle most of the same parses, but that’s not something I would bet money on. Mgrammar also doesn’t need semantic predicates to avoid left recursion, which can make the grammars more readable.

The last time slot of the day I spent doing some hacking, and peeking in at Glenn Vanderburgs presentation on DSLs in Ruby, which gave a good overview of the available techniques.

The day ended with the totally hilarious Bullseye panel, where my totally insane colleagues Dan North and Jim Webber hosted a gameshow combining darts and zany questions to a panel of Michael T Nygard, Ian Robinson, Martin Fowler and Steve Vinoski. To many great moments to even start to describe, but if I had to choose one, it would probably be Ian Robinsons answer to the question about what tech has the worst man boobs. Ian’s response basically said that the problem wasn’t the man boobs, but that he couldn’t actually get close enough to touch them without lots of clothes getting in the way. Lovely metaphors there.


4 Comments, Comment or Ping

  1. > My intuition is that ANTLRs LL(*) would be able to
    > handle most of the same parses, but that’s not
    > something I would bet money on.

    Good thing too, since you would lose the bet. :-) GLR is a fundamentally different technique. Specifically, it can not only handle left-recursive grammars, but also grammars which are fundamentally ambiguous. With LL(*), the grammar must either be unambiguous or disambiguating by input. GLR parsers just generate multiple parse trees.

    With that said, I don’t think I would use GLR unless I *absolutely* had to (like for parsing Ruby); it has a tendency to be annoyingly slow and bloated in the number of states.

    March 14th, 2009

Reply to “QCon London – Friday”