Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Web Development

Visual Studio 2008: From the Source

S. Somasegar

S. Somasegar is Vice President of the Developer Division at Microsoft. Somasegar frequently shares his thoughts with the developer community via his blog at blogs.msdn.com/somasegar.

DDJ: From your perspective, what's the biggest improvement of Visual Studio 2008 over Visual Studio 2005?

SS: That's a hard question to answer because it's a little bit like asking me to name my favorite child. However, there are quite a few significant improvements in Visual Studio 2008 and I've detailed a number of them in my blog in the past few months. A few I'll mention here include tool support for Windows Presentation Foundation (WPF), enhancements to MSBUILD including multiple processor support, debugging and profiling features, enhancements to ASP.NET—including ASP.NET AJAX now shipping as part of Visual Studio—and support for developing and consuming Windows Communication Foundation (WCF).

Web developers have already expressed their excitement for IntelliSense and debugging in JavaScript. LINQ is obviously something we're very excited about delivering to our customers, as well as integration with Expression Studio that improves the workflow and collaboration between designers and developers. In essence, Visual Studio 2008 makes it easy to build software and services on the latest platforms, including the Web, Windows Vista, Office 2007, and Windows Server 2008.

DDJ: What is "Visual Studio 2008 multitargeting support" and why is it important?

SS: Multitargeting enables developers to build solutions using the latest and greatest IDE, but which target multiple platforms. One of the biggest feature requests we've received from customers is the ability to migrate to the newest version of Visual Studio and still be able to build code targeting older versions of the .NET Framework. You can use Visual Studio 2008 and build applications targeting .NET FX 2.0, 3.0, and 3.5. With multitargeting, we not only enable developers to build solutions for older versions of the Framework, but we also guide them in using the right APIs and libraries so that they don't inadvertently attempt to use nonexistent features for the version of the Framework they have chosen. We hope that multitargeting support will alleviate some of the anxiety our customers may have about migrating to Visual Studio 2008.

DDJ: With the inclusion of Silverlight development into the Visual Studio 2008 IDE, are there—or will there be—any cross-platform debugging tools available to facilitate Silverlight application testing on platforms other than Windows?

SS: First off, we expect to ship the Silverlight Add-In for Visual Studio 2008 a few months after the release of Visual Studio 2008 (an early preview of this is already available). This will enable developers to build Silverlight 1.0 solutions from within Visual Studio and will provide:

  • Templates for Silverlight 1.0 and 1.1.
  • Source-level editing for Silverlight XAML 1.0 and 1.1 files.
  • Ability to build Silverlight 1.1 components using .NET (VB/C#).
  • IntelliSense and debugging in VB/C# code for Silverlight 1.1 objects.
  • Creation and consumption of web services for Silverlight 1.1.

The add-in provides cross-platform debugging capability for Silverlight, enabling developers to easily attach to a MAC and step through code to identify issues.

DDJ: What about LINQ? What sort of improvements can we see with it in Visual Studio 2008?

SS: Obviously, LINQ is brand new in Visual Studio 2008 and the .NET Framework 3.5. LINQ is an exciting evolution in data programming that provides common query capabilities within the programming language itself. LINQ closes the gap between programming objects and data by providing a common query facility for in-memory and external data (external sources of data plug into LINQ by implementing a common query interface). Integrating query capabilities into the C# and VB programming languages provides a simple, natural way to build strongly typed queries that benefit from design-time features like IntelliSense.

Typically, building data-driven solutions requires developers to learn multiple distinct languages with vastly different semantics. For example, application logic is written in an imperative programming language, but queries are written in SQL or, if accessing XML data, in XPath/XQuery. Furthermore, because of the lack of integration between the languages, queries have to be written inside string literals without statement completion or compile-time verification and cannot span data from different domains. This results in brittle code that is difficult to write, maintain, and debug.

With the LINQ Project, we are removing this additional step by integrating the programming experience, providing C# and Visual Basic users with a common programming framework for querying objects, databases, and XML. From a business value perspective this helps to further break down silos and open up data access within applications. This will enable developers to build better, more innovative applications, faster.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.