Wednesday, January 7, 2009
The other night Chris Sells gave a cool talk on Oslo for the Portland Area .NET User's Group. His recent podcast interview on .NET Rocks was fascinating, in an abstract, intellectual sort of way, but I never grasped what this Oslo thing was actually for. I hoped attending his presentation would help me grok this stuff better. But to me, Oslo still looks like a hammer in search of a nail.
When I first heard of Oslo I couldn't keep the phrase "architecture astronaut" out of my head. It sounds like an interesting concept, maybe even a useful platform, but what's the killer app? What, specifically, can I do with this that makes me ten times more productive? I think I'd find it most useful for creating domain-specific languages. He demonstrated how easy it is to define a grammar, create a parser, and generate abstract syntax trees that you can process in C#. This would save a lot of time in creating "little languages" but it feels like the proverbial howitzer vs. mosquito.
Here's what I want to know: Is Oslo meant primarily for developers or business people? Is it about helping programmers and business people communicate? Is it hoping to evolve into a grand, unified theory of languages and data?
I'm going to give the Oslo guys the benefit of the doubt for a while. Too many people love to take a cursory look at everything new coming out of Redmond and declare it a big steaming pile. Sometimes they're right (Vista anyone?) but they often look like fools later. My very first reaction to .NET was "this is just a cheap clone of Java" and I couldn't have been more wrong.
Truly game-changing advancements always look crazy at first. My gut tells me they're onto something important.