Tuesday, January 15, 2008

Language Concertos and the Tech Cadenza

Cadenzas

We are all familiar with extended guitar solos. Until a few years ago, I didn't realize that instrumental solos at rock concerts were a modern day form of cadenza. A cadenza is simply a section of music where "the others" stop playing so that a soloist can take the spotlight, often showcasing tremendous virtuosity. Even if you aren't a classical music buff, you may have seen situations where the orchestra stops and the violinist lets 'er rip (e.g. in a violin concerto).

The concept dates way back to at least the Classical era (circa 1775). Interestingly, in those days, improvisation was a key component. (To quote an old professor: the notion that jazz invented improv is "one of the many lies you've been led to believe".)

In Technology

While reading a post on Neal Ford's blog, I realized that the modern day cadenza for computer languages is undoubtedly Web Frameworks. It is a chance for a given language/platform to really show its stuff. I suppose that it is a relatively beefy opportunity: showcasing MVC, persistence, a web presence, etc.

For one, I would like to see some new problems as cadenzas. At a recent talk on Scala by Tim Dalton, the audience was treated to an excellent exposition of the language. During Q&A, someone mentioned Lift, a nascent web framework for Scala.

Under my breath, I said "oh oh". Now, I haven't used Lift and wish them the best, but I'm not sure that I have room in my brain for another web framework. Plus, I'm enjoying the dueling guitars contest between Rails and Grails.

A New Cadenza?

I haven't used Scala, but of all the features presented in the talk, the true standout is the Actor concept, a type of abstraction for concurrency. For my money, that might be a big opportunity for a new Scala concerto: featuring a MapReduce cadenza.

That would bring me to a standing ovation.



No comments: