ASP.NET Dynamic Language Support

Download the ASP.NET Dynamic Language Support Release

Introduction

Dynamic Languages are a class of high-level programming languages that do not rely on static typing. Many decisions that are made at compile time by a statically typed language are instead made at run time by a dynamic language. For example, many dynamic languages use dynamic typing, where an object’s type is determined at run time instead of at compile time. These languages make a trade-off between compile-time type-checking in favor of increased flexibility at run time.

There are many good static languages, such as C#, and many good dynamic languages, such as IronPython. The choice of what type of language to use comes down to personal preference and to the nature of the project you’re working on.

Giving ASP.NET users the choice of languages was part of the design since our first version of ASP.NET, and this Dynamic Language Support is just another step in that direction. Unlike other Web platforms that support only one language, the ASP.NET team wants to enable users to choose the language that fits them best.

This Release

This release is compatible with both the IronPython 2.6 release and IronPython 2.7 Alpha 1. It does not include Language Services Support or project templates for Visual Studio. To create a new IronPython ASP.NET WebForms project, simply copy the “examples\web.config” and “examples\bin” directories, and use “examples\hello-webforms.aspx” as a reference. A redistributed copy of IronPython 2.7 Alpha 1 can be found in the “examples\bin” directory; all files except Microsoft.Web.Scripting.dll, the IronPython ASP.NET integration, are from the IronPython 2.7 Alpha 1 release. This release also contains the source code to Microsoft.Scripting.AspNet.dll in the “src” directory. The ASP.NET Dynamic Language support and IronPython 2.7 Alpha 1 are licensed under the Apache License (Version 2).

Included in this release are two WebForms examples that are written in IronPython: “hello-webforms” and “album-handler”, which can be found in the “examples” directory. “hello-webforms” is a simple web application that shows PostBack handling, and “album-handler” is a larger web application that creates a photo album from a directory of images and generates thumbnails for them on the fly.

Current Limitations

There are some tooling limitations with this release:
  • Limited support for designers
  • No IntelliSense support.
  • No support for ASP.NET MVC. This is planned in the future by extending the IronRuby ASP.NET MVC support: http://github.com/jschementi/ironrubymvc.

Why?

If you are an ASP.NET developer interested in trying out the simplicity and flexibility of a dynamic language, then this is for you - or if you are already investigating IronPython, then this opens up the door to developing ASP.Net Web applications using that language. For those interested in building ASP.NET applications with IronRuby, that's coming.

Dynamic languages continue to grow in popularity for their expressiveness and concise syntax.

How to Provide Feedback

Because we highly value your input on this pre-release version, please do submit feedback. There are two primary means for providing feedback:
  1. The ASP.NET Futures Forum on the ASP.NET Forums site allows you to engage in discussions with other customers and with the ASP.NET product team. This is a great place to ask questions, post comments, and learn more about using ASP.NET Dynamic Language Support.
  2. The Issue Tracker tab on this site allows you to file bugs to the product team for consideration. The Issue Tracker is voting-based, so bugs with the most votes are given priority. (However, the product team will consider each issue individually, and more votes does not necessarily guarantee acceptance.)
Tip: Please use "Issue" type for logging bugs and "Feature" type for logging new feature suggestions.

Other resources

Last edited Aug 7, 2010 at 4:18 AM by Haacked, version 13

Comments

hoboro Jan 20, 2010 at 3:37 AM 
What is the global.py file? Is it associate to the Hello Project or the albums?

nirataro Jan 5, 2009 at 9:00 PM 
When will we have the updated version of this dynamic support to IronPython 2.0 release version?