Software engineering is always evolving -- sometimes going in two directions at once. At the same time that object-oriented languages gain steam, the polar opposite -- scripting languages -- gets new attention.
While Visual Basic developers may use scripts more sparingly than Unix developers, there is little question that both camps have become aware of growing interest in Python, a dynamic scripting language said to take on some object-oriented capabilities. Within Microsoft, an effort is underway to create "IronPython," and over time it may find a place in the .NET developers' tool kit.
IronPython is the code name for an implementation of Python that will run on the .NET Common Language Runtime. This makes .NET libraries open to the Python programmer, who, among other things, can stitch together new and existing libraries, applications and snippets.
Among the key drivers behind the effort is Jim Hugunin, a veteran developer involved with early XeroxParc work in the AspectJ language. He started work on the IronPython project before coming to Microsoft in 2004.
According to Hugunin, his original 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," he wrote in a Web entry.
Like Python, IronPython supports an interactive interpreter and transparent on-the-fly compilation of source files. It compiles Python code to .NET IL, which the runtime then translates to optimized machine code.
At the end of last month, the first beta of IronPython 1 was released. Among important bug fixes are several that improve compatibility with open source CPython 2.4. Included was a new exception system for better CPython compatibility and CLI interoperability. IronPython is being tested using a Shared Source Licensing Program.
We asked Jim Hugunin how Visual Basic.NET developers will benefit from using IronPython scripting.
"VB.NET is a mature language implementation with an amazing development experience supported by its rich Visual Studio IDE. Some VB.NET programmers might want to experiment with IronPython to experience its interactive console, to add scripting support to their applications or just for the joy of learning a new programming language," Hugunin said in an e-mail exchange.
"For many VB.NET developers, they'll be more interested in waiting for these dynamic language features to show up in future versions of VB.NET," he continued
Hugunin said Microsoft is looking forward to the release of IronPython 1.0 later this year.
IronPython Download - Microsoft
IronPython Shared Source Licensing Program - Microsoft
Transcript: IronPython - Python on the .NET Framework with Jim Hugunin - MSDN
Webcast: IronPython: Python on the .NET Framework with Jim Hugunin - MSDN
IronPython: Workspace Home - GotDotNet
On scripting - John Ousterhout site
Paul Vick and Erik Meijer -- Dynamic Programming in Visual Basic - Channel 9