InfoQ

News

Presenting the VS 2010 Roadmap

Posted by Jonathan Allen on Nov 20, 2008 06:27 AM

Community
.NET
Topics
IDE
Tags
Visual Studio

Rico Mariani, Chief Architect of Visual Studio, talks about the long term plans for Visual Studio 2010. Before we get into it, Rico does have a warning,

I am the Chief Architect but I'm also *only* the Chief Architect, I don't make the final decisions about what goes in the product, not even combined with the other architects. Jointly we come up with the long term technology roadmap, it indicates key problems that need to be solved for the long-term health of the product among other things, but these things cannot usually be mapped directly in to features in a particular release.

First up is extensibility. While the core of Visual Studio is extensible, many of the higher-level components that people actually want to extend are mostly off limits. In addition, the extensibility points are largely based on COM.

So to meet these needs we embraced what became known as the Managed Extensibility Framework (MEF) and two major extensibility areas in Visual Studio 2010 import and export according to that standard. Now of course MEF was just a gleam in our eyes when we started but as you can see from what we're able to show in the PDC bits we've come a long way there. We've taken major MEF dependencies in both our new Text Editor (more on that below) and in the new C++ project system.

In the future Visual Studio will rely heavily on Windows Presentation Foundation. This has gotten mixed responses from the public.

This may sound like a no-brainer but there is often resistance. Let me pick my favorite issue for VS2010 -- using WPF pervasively. Many people, at least initially think I'm nuts to advocate taking that dependency. "Can you afford it? What about scenario <X> I heard WPF isn't so good at <X>." I've been pretty much silencing dissent with the following observation:

"Do you really think GDI is the last word in computer graphics for the next 10 years?"

He continues,

I know we are bound have some problems with WPF. We have to fix them, and who better than us? We've done medium sized WPF applications (e.g. Blend), and now we're going to drive a Flagship Application, maybe the 3rd largest suite in the world (I dunno exactly but it's up there), right down WPF Boulevard and we're going to Make It Work. It will be great for us, and for WPF itself, and then others can follow with confidence. There is no real alternative because we can't just sit here on our old UI and then expect to magically have a modern look in 10 years. And our friends in WPF-land are just as excited about this as I am... maybe more so if that's possible.

Throughout the article, a common theme is comparing VS 2008 with VS 98.

I did a quick demonstration for my VP last year where I showed a simple MFC application build and debug scenario in VC98 vs. VS2008 -- and don't get me wrong, I think VS2008 made great progress on this front and I think it's a great product, but --- suffice to say that VS2008 used quite a lot more memory to do the same job as VC98.

Yes of course VS2008 can do more than VC98, but seriously, I think there is room to improve here. Remember I was around for C6.0, I have a long memory :)

When asked about making Visual Studio 64-bit, Rico scoffs at the idea.

Sometimes people tell me we should go to a 64 bit solution to get the scale we need. I think that's wrong, I think what we need is to use less memory not more memory, I think we have non-lazy algorithms in some key places and we need to address those. That's what I'm pushing for. I don't want us take act like we have even more memory -- we might move in the wrong direction if we do that. But we do need a 64 bit plan and that's something for another posting.

No comments

Watch Thread Reply

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.