Let's take a look at the elements that can support building new kinds of applications using the .Net Framework v4 along with Microsoft's latest version of its Application Server that was code named Dublin.
Microsoft's .Net Framework has been around since early 2002 and originally was included in the programming environment called Visual Studio .Net. The idea behind it was to deliver a common operating environment for applications that would hide specifics of security, processor operations, and other common programming tasks to enable more rapid applications development. It has since been used in a wide variety of both commercial and custom applications, including Symantec's Ghost.
.Net is built upon several layers as you can see from the diagram below. There is a common language runtime, which handles memory management, exception handling, and other mundane tasks to create applications. On top of this is built a new dynamic language runtime to handle object interoperability and higher-level expression trees that get included in a program at runtime
(Click the image below and then click again to see the full size image.)
.Net is built upon several different programming layers.
Unlike Sun's Java, .Net is only available for Windows computers, although the two offer some broad similar approaches to building Web-based applications. Microsoft over the years has widened its support for a variety of programming languages in .Net, and indeed the latest v4 has six major innovations (see here for a more complete explanation of its features):
- Better installation experience. There are separate installs for AMD and Intel 64-bit processors, and the overall installation package is smaller and installs quicker. This is critical, especially for software that is going to serve as the foundation for many different kinds of applications.
- Better support for parallel computing technologies using multiple CPU cores or distributed networks of PCs, making it easier to split programming workloads across these collections of CPUs.
- Apps can now run on the bare-bones Server Core for Windows Server 2008 R2. The Server Core is a command-line only version of Windows Server that keeps the attack surface as small as possible for hackers, yet provides enough functionality for delivering advanced applications. This means that developers don't need to install the full Server 2008 version if they want to deploy them as application servers.
- ASP.Net innovations. This has its own v4 that includes better forms processing and more control over what gets written to Web pages. See here for a more complete discussion of its features.
- Visual Basic and C# language additions to fill in missing features in both languages so that they are more on an even par.
- Support for the dynamic language runtime routines in Visual Basic and other languages including the Microsoft versions of open source IronRuby and IronPyton, and F#, Microsoft's own functional programming language. This makes it easier to develop programs in these dynamic languages such as developing rapid feedback loops testing multiple statements at once.
The goal for these language additions is to make you more productive, while requiring that you write fewer lines of code. And, the languages provide a better foundation for writing more functional Web applications. For example, on earlier versions of .Net, you might use the following code to increment a counter in XML in C#:
Scriptobj.SetProperty("Count", ((int)GetProperty("Count")) + 1);
By using the new dynamic language runtimes, you could use the following code instead for the same operation:
scriptobj.Count += 1;
Version 4 of .Net has made certain objects and types obsolete; here is the reference list to make sure you no longer use them in your programs.