I got an opportunity to attend the LA C# User Group tonight, and listen to Mike Vincent speak on this subject. I’m familiar with the concepts and capabilities of dynamic languages, but looked forward to getting my questions answered.
The behaviors of a dynamic language include several cool behaviors:
- Extend the program by adding new code
- Extend objects and definitions
- Modify the type system
- No compiler safety net
- IDE maturity such as Intellisence
- TDD becomes very important
The Dynamic Language Runtime (DLR) adds a set of services on top of the CLR to support dynamic languages. It will be distributed with Silverlight, IronPython, and IronRuby. Here’s a cool graphic Scott Hanselman posted last year that explains the roadmap past, present, and future:
- The Silverlight CLR 2.0 won’t support CodeDOM, so the need for a dynamic language really becomes evident.
- Django is a high-level framework for Python comparable to Ruby on Rails, and at PyCon 2008 (March 2008) Microsoft demonstrated Django’s use on Iron Python
- John Lam demonstrated Ruby on Rails running on IronRuby at RailsConf (May 2008)
On a side note, one of the attendees told me about the Google App Engine, allowing you to run your application on Google’s infrastructure.
You can download Mike’s presentation here.