What's New in VS2010 and .Net 4?

DZone 's Guide to

What's New in VS2010 and .Net 4?

· ·
Free Resource

Today marks a critical turning point for Microsoft as they announce the final releases of Visual Studio 2010, the .Net Framework 4.0, and Silverlight 4 (available later this week).  With .Net 4, Microsoft is simplifying parallel programming and adding a broader range of language choices.  Visual Studio 2010 is a major improvement over the 2008 version.  VS 2010 includes support for Windows 7, Windows Azure, and tools for building applications on top of Microsoft Sharepoint.  Here are some of the new features for VS 2010 and the .Net 4 platform:

Visual Studio 2010

VS 2010 has something for just about everybody.  Mobile developers who want to get a head start on developing applications for the Windows Phone 7 OS can use the integrated phone design surfaces available in Microsoft's IDE.  Developers can also deliver expressive user experiences through the Windows 7 multitouch and “ribbon” interfaces.  This release of Visual Studio is also the first to give developers integrated access to SharePoint functionality.

The first thing that developers will notice is a new editor, shell, and Managed Extensibility Framework in Windows Presentation Foundation (WPF).  Developers with multiple monitors will be able to "float" windows from one display to another.  The Premium and Ultimate editions also include standard UML diagramming.

New WPF Interface

Floating Windows

VS 2010's IDE for editing C++ (Visual C++ 2010) now supports functionality and library components from the C++0z standard.  These features include compile-time assertions, lambda expressions, rvalue references, and the auto keyword for type inference.  Visual C++ also has much improved (and simplified) support for parallel programming with a new Concurrency Runtime that schedules and manages parallel loads.

The Dotfuscator is a third-party tool bundled with Visual Studio 2010 that was originally designed to obscure .Net code.  The obfuscation of .Net code is necessary to prevent decompilation by other parties.  Along with this feature, the new Dotfuscator also includes Runtime Intelligence Support, which adds analytics support for your desktop application code.  This lets developers log data (on a hosted portal or your own server) on how the application is being used.  Along with tamper detection, developers can also use the Dotfuscator to set expiration dates for free application trials and subscriptions.  

Dotfuscator Instrumentation Options

Modern testing and code review are seeing a rise in 'replay' tools that make it easier to reproduce bugs that are hard to find.  VS 2010 includes a new tool called IntelliTrace, which allows developers to record video of an application at the time when a defect manifests.  Tools like these will be essential for improving QA efficiency.

Visual Studio 2010 also comes with a vast array of web development tools.  It ships with ASP.NET MVC 2.0 and the older Web Forms framework.  VS 2010's built-in test framework for ASP.NET reminds developers when they should create tests as they're working.  Another aspect of VS 2010's web development is RIA Services, which is a part of WCF that simplifies authentication and read-write data access in Silverlight or ASP.NET applications.

With the recent launch of Windows Azure, VS 2010 is the first IDE to come with Azure project types.  Developers will need to download the Azure SDK and tools separately.  Currently, these tools have not reached their final versions.

Here is a snapshot of the three VS 2010 editions available:

  • Visual Studio 2010 Ultimate with MSDN, featuring the full suite of tools including ALM products. Testing and architecture tools also are featured. It carries a price tag of $11,924 for a new customer and $3,841 for a current customer renewing with Microsoft.
  • Visual Studio 2010 Premium with MSDN, featuring the Visual Studio toolset but lacking some architecture capabilities of the Ultimate edition. Some of Microsoft's ALM suite is included. Premium costs $5,469 for new users and $2,299 for customers seeking renewals.
  • Visual Studio 2010 Professional with MSDN, for basic development tasks. It includes the core version of Visual Studio. It costs $1,199 for a new user and $799 for a renewal.
  • Users also can purchase Visual Studio 2010 Professional minus a MSDN subscription for $799.

.Net 4

The .Net Framework 4.0 includes new programming models, languages, and various features that have prepared the platform for modern development.  The Dynamic Language Runtime  is a major step for .Net that adds a set of dynamic language services to the CLR (Common Language Runtime).  This makes it easier to develop dynamic languages for .Net and add dynamic features to statically typed languages.  

.Net 4 introduces a new programming model that simplifies multithreaded and asynchronous programming in application and library development.  Developers can write scalable parallel code using a natural idiom without having to work directly with threads or the thread pool.  There is also a parallel implementation of LINQ to Objects (PLINQ).  An important feature for backward compatibility is side-by side hosting, which allows developers to run applications based on older .Net frameworks in the same process as .Net 4 applications.  The .Net 4 Framework also provides garbage collection in the background.

.Net 4 features a revamp of Windows Workflow and some new language features.  Along with C#, VB.Net, IronRuby, and IronPython, there is also a new language in .Net 4 called F#.  F# is a multi-paradigm language that is aimed at bringing functional programming into mainstream enterprise development.  

One of the biggest enhancements of the .Net Framework 4 is the reduction in client footprint by more than 80 percent.

To download, purchase or get more information on Visual Studio 2010: http://www.microsoft.com/visualstudio

To download or get more information on the .NET Framework: http://www.microsoft.com/net


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}