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

Reply

Educational Content

JRuby: The Pain of Bringing an Off-Platform Dynamic Language to the JVM

Charles Nutter discusses bringing JRuby to the JVM, why Ruby is hard to implement, JIT compilation, precompilation, core Ruby implementation, Java library access, library challenges and future plans.

Performance Anti-Patterns in Database-Driven Applications

Alois Reitbauer specifies several architectural anti-patterns that one should stay away from and which can downgrade an application’s performance.

Making TDD Stick: Problems and Solutions for Adopters

Teams in large organizations still struggle to adopt TDD. In this article Mark Levison shares problems he uncovered when he surveyed teams, and his own strategy to introduce TDD into an organization.

Testing is Overrated

In this talk from RubyFringe, Luke Francl asks: is developer-driven testing really the best way to find software defects? Or is the emphasis on testing and test coverage barking up the wrong tree?

VM Optimizations for Language Designers

John Pampuch discusses the HotSpot compiler, the history of Java performance, HotSpot development philosophies and challenges, optimization, JVM library improvements, and tips for better performance.

Keith Braithwaite, an Agile Skeptic

In this interview, Keith Braithwaite, an Agile developer, consultant and trainer, says that we should show a good deal of skepticism towards today’s Agile practice.

Workflow Orchestration Using Spring AOP and AspectJ

This article demonstrates how to build and orchestrate highly configurable and extensible yet light-weight embedded process flow using AOP techniques with Spring AOP and Aspect J.

Embrace Uncertainty

Jeff Patton explains why one needs to embrace uncertainty in order to succeed with his/her Agile project and how to avoid some of the common mistakes leading to project failure.