Dynamic Languages and the Common Language Runtime (CLR)
Hi! I’ve just finished my second week working at Microsoft. Now that I'm starting to settle in I can get to the fun work with the CLR and dynamic languages. I’ve been fascinated by the power of programming languages and tools for many years, and I’ve built a number of tools in this space. I’m the creator of Jython, a co-designer of AspectJ and the original lead for Numeric Python. You can read more about these projects starting from my personal web site.
Over the past year, I’ve become a reluctant convert to the CLR. My initial plan was to do a little work and then write a short pithy article called, "Why .NET is a terrible platform for dynamic languages". My plans changed when I found the CLR to be an excellent target for the highly dynamic Python language. Since then I've spent much of my spare time working on the development of IronPython. The more time that I’ve spent with the CLR, the more excited I’ve become about its potential. With my new position at Microsoft I have the pleasure of continuing to explore and extend this platform full-time surrounded by smart people who have a deep understanding of the CLR.
I announced the first public release of IronPython-0.6 during my talk at OSCon a couple of weeks ago. The conference and the talk were great fun. Before my talk at OSCon, IronPython had only ever run on my personal laptop under Windows XP. Before my talk was even finished, Edd Dumbill had installed and run it successfully under Linux. An hour later out in the halls I met several more people who had IronPython running successfully on Linux as well as two people who were running it under Mac OS X. None of these people needed to make any modifications or even do a recompile to get it working on their systems. Everyone could run exactly the same binary that I’d built using Visual Studio .Net on Win XP. Of course, this is exactly how the CLR is supposed to work; nevertheless, it’s always a pleasant surprise when things work as advertised.
I'd like to thank all the people who've given me such positive feedback both about my IronPython announcement and my move to MS.
This blog is going to give me an easy place to talk about technical issues with implementing languages for the CLR and about philosophical issues around how and where dynamic languages are most useful. I’ve just started my new job and still have to work out my schedule and commitments, so don’t expect any comments from me about a next release for a little while. Coming soon will be an entry similar to one of the live demos I gave during OSCon to show a little bit more about how IronPython can interact with interesting CLR libraries.