In February Microsoft published the Release Candidate (RC) of its .NET Framework 4.0. Microsoft is well known to bring something unimagined to life and put it in public use. And its products have an uncanny knack of generating popularity waves. Whether be the Windows versions, or its software development framework, Microsoft knows how to evolve the market on its own. Talking about the .NET framework, its 2.0 version saw the introduction of the Winforms and the ASP.NET and ADO.NET programming languages grew popular. The 3.0 and 3.5 versions brought the much powerful Windows Card Space and Windows Foundations – Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), and Windows WorkFlow Foundation (WF) onto the development arena to help the developers in rapid application development. The .NET 3.5 Framework also saw the integration of Language Integrated Query (LINQ) component that adds native data querying capabilities to the .NET languages. Similarly it can be foretold that the 4.0 version of the Microsoft development framework will come with added features and functionality for rapid application development.
Here are some of the key features and improvements in the .NET Framework version 4. The .NET Framework 4 introduces an improved security model. Other new features and key improvements are:
Application Compatibility and Deployment
The .NET Framework 4 is highly compatible with the applications that are built with earlier .NET Framework versions except for the changes inculcated for better security measurements. The .NET Framework 4 Client Profile supports more platforms than the previous versions and provides faster deployment for the Windows Foundations. Another new feature is the In-Process Side-by-Side Execution that enables an application to load multiple versions of the .NET Framework in the same process.
Core New Features and Improvements
This section describes the new features and improvements in the common language runtime and the base class libraries.
- A groundbreaking feature that is borne of the Framework version 4 is the diagnostics and performance management. You can check the processor and memory usage by every individual application domain running on the system. This way you can determine if any application domain is interfering with other domains.
- Other useful improvement is the provision for background garbage collection that replaces the concurrent garbage collection found in the previous versions of the .NET Framework. Clearly the background garbage collection provides a better performance.
- Code Contracts is a new feature that lets you specify the contractual information that is not specified by a method’s or type’s signature alone.
- Dynamic Language Runtime (DLR) is a new runtime environment that adds a set of services of dynamic languages to the CLR. The DLR makes it easier to develop dynamic languages and run them on the .NET Framework. To support the DLR a new System.Dynamic namespace is added to the .NET Framework.
- The new System.Numerics.BigInteger structure is an arbitrary-precision integer data type that supports all the standard integer operations, including bit manipulation. It can be used from any .NET Framework language. In addition, some of the new .NET Framework languages (such as F# and IronPython) have built-in support for this structure. The new System.Numerics.Complex structure represents a complex number that supports arithmetic and trigonometric operations with complex numbers.
- For creating tuple objects that contain structured data, .NET Framework 4 provides a System.Tuple class.
Managed Extensibility Framework
The managed Extensibility Framework (MEF) is a new addition to the .NET Framework library to allow building applications that can be extensible and composable. MEF allows you to specify points where exactly the application can be extended.
The .NET Framework 4 introduces a new programming model for writing multithreaded and asynchronous code that greatly simplifies the work of application and library developers. The new model enables developers to write efficient, fine-grained, and scalable parallel code in a natural idiom without having to work directly with threads or the thread pool. The new System.Threading.Tasks namespace and other related types support this new model. Parallel LINQ (PLINQ), which is a parallel implementation of LINQ to Objects, enables similar functionality through declarative syntax. For more information, see Parallel Programming in the .NET Framework.
In the .NET Framework 4, Windows Presentation Foundation (WPF) contains changes and improvements in many areas, including controls, graphics, and XAML
Communications and Workflow
Windows Communication Foundation (WCF) provides messaging enhancements and seamless integration with Windows Workflow Foundation (WF). WF provides improvements in performance, scalability, workflow modeling, and an updated visual designer.