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:
- 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.
- 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