Friday, May 23, 2008

Polyglot Heaven

With a "just go for it" attitude, Nate Neff and I took a road-trip on Thursday to attend the first Polyglot Programmers meeting at the Obtiva offices in Chicago's financial district. Well worth the trip! Dean Wampler gave a very evenly balanced and informative overview on the history and concepts of polyglot and poly-paradigm programming. He has made the slides for the talk publicly available (if you missed the talk, you can find an audio recording here).

I find the notion of polyglot programming very appealing because it aims to exploit the strengths of different development languages/technologies within a unifying architecture. Ola Bini has written several times about polyglot programming and layered architectures that leverage high-performance (typically statically-typed) languages for some parts and high-productivity (dynamic) languages for others, in an attempt to achieve the "best of both worlds". This idea makes a lot of sense to me, coupled with the "use the right tool for the job" strategy rather than the "use as many tools for the job" one.

In the talk, Dean gave examples of polyglot programs that are in wide use (I'm looking at you, Emacs), reinforcing the idea that this is not a new concept (even though it may be one that internet pontificators seem to be talking about at the moment). Considering that most web-applications fall into the polyglot category by virtue of their including CSS, HTML, XML, SQL, and Java/C#/ASP/PHP/Perl/Ruby/Groovy/Python/etc as parts of the same application, the idea that shifting our approach to organizing application architecture to (for example) throw Java or C# at the message queue processing portion of the application while utilizing a dynamic language of your choice to organize/control the components of the system, a glue (if you will), isn't radical at all. In fact, it seems quite natural (to me). Though my own preference these days is developing with Ruby, much respek to the clever folks in the Groovy camp for adopting the polyglot paradigm in the Grails architecture. Booyakasha! That same "leveraging strengths" goodness is what makes working on and with the Monkeybars framework so much fun.

The discussion among all attending after Dean's presentation was enjoyable, as was the great beer and Chicago-style pizza provided by our hosts, Dave Hoover, Joseph Leddy, Tyler Jennings, Renzo Borgatti and the rest of the Obtivians that I met that night.