It was very clear by Saturday that I wasn’t going to be able to blog each and every talk like I had in the past. There was just too much going on and I had too much on my plate to do it justice. Plus there were a lot of people doing a talk by talk blog on the conference, so my additional comments seemed superfluous.
So rather than do a blow by blow descriptions, I thought I would just touch on a few highlights.
Matz subtitled his talk “Weird and Crazy Ideas” and he talked about some of the “stretch” ideas he has for Ruby 2.0. If you are following the Ruby 2.0 discussions up to this point, there wasn’t anything that was a big surprise. But he did give some more details on what we should be expecting.
Two big topics of conversation came out of this keynote. One was the syntax for anonymous functions. The second was the syntax for keyword arguments. See the ruby-talk mailing list before the conference for a discussion of anonymous functions. See ruby-talk after the conference for keyword arguments discussions. Both topics are generating a lot of traffic on the ruby-talk mailing list, so check the mailing lists for any details.
Selector namespaces were mentioned by Matz, but without any hint of how they would be implemented. After the keynote, Rich Kilmer brainstormed some ideas and Paul Brannon actually did a (simplifed) pilot implementation in pure Ruby to get a feel for how they might work.
One of my favorite talks was Nathaniel Talbott’s talk on the long tail of software development. He explored the question of what happens to software development as the time and cost to develope software approaches zero. He compares it to intercontinental railroad (rails ... get it?) which lowered the cost of traveling to the interior of the US to a point that almost anyone could travel.
The Seattle group is doing some really exciting stuff exploring what it would take to get the standard Ruby library (currently written in C) defined in Ruby. Its a two pronged approach. Part 1 is the Metaruby effort to rewrite the standard classes is a (rather static) subset of Ruby. Part 2 is the Ruby2C translator that can take a subset of Ruby and rewrite it as C code. If this project is successful, moving Ruby to a different platform (i.e. the Java JVM or .NET CLR) much easier. Ryan Davis and Eric Hodel were the presenters for these two talks.
I see these two projects are very important to the future adoption of Ruby in two different groups. YARV addresses the “Ruby is too slow” crowd, while JRuby addresses the “but it doesn’t interact well with Java” crowd. While neither group is critical to future adoption, Ruby acceptance would be enhanced by addressing their concerns.
I did two talks this year. One was in the standard track and was on the topic of Domain Specific Languages written in Ruby. It was well received and seems to seeded some new ideas in some people.
The second talk was a workshop (with Chad Fowler) on Sunday afternoon where we delved into the details of programming with continuations. The other workshop was on Rails, so I expected a light turnout at ours. Surprisingly we had a very good crowd. Presenting with Chad was a lot of fun (I really liked the conversational approach we used) and people seemed to enjoy it. Plus I worked in playing a video game into the talk.
I think the best part of RubyConf is not the formal talks, but the chance to meet and talk to people over meals and between sessions. I will post on some of the topics sparked by these conversations in the weeks to come. Unfortunately, I didn’t get to participate in as many code fests as I had hoped (I was too brain dead for serious coding by the end of the day).
I’m already looking forward to next year!