Showing posts with label Orcas. Show all posts
Showing posts with label Orcas. Show all posts

Thursday, April 12, 2007

Visual Studio pain points presented at the MVP Summit...

Speed of the build -

I had to point out how Visual Studio eats up precious minutes of my life when I press F5 on an already built project going through all-dependent projects again, checking for changes to verify if they need to be built again! Surely, Visual Studio can make use of intelligent techniques where it is notified of source-code changes outside the editor!

Proposed COM Component Registration in HKCU with Orcas -

The story goes this way - everybody wants their application to run with plain user privileges on Vista. Visual Studio is no exception to this rule. Problem is that when you build a COM / ActiveX component on Visual Studio,
it registers the component as a part of the post-build process. This registration installs keys in HKCR. HKCR is mapped to HKLM\Software\Classes and one cannot write to this key without having Administrative Privileges. So, the Orcas team proposes registration in HKCU (HKEY_CURRENT_USER) instead.

This would normally be fine save for the fact that -
  • Software that uses COM components would need to be installed on a per-user basis on a Workstation.
  • If keys are written to HKCU, the user with no administrative privileges would have write privileges on it - and can potentially damage the deployment.
As a result, software deployment and maintenance expenses would escalate.

MVPs were unanimous that this change would cause deployment issues. I have escalated this problem with the Visual Studio management and we are discussing possible solutions.

Lets see how things work out!

The future of C++ Programming with Visual Studio Codename Orcas

The MVP Summit also involved many good up-close sessions with the technical people from the Visuai Studio / Visual C++ team. This was Microsoft's way of getting feedback from people like me who are in close sync with the development community about pain points of the past, and features that newer versions of Visual Studio (Orcas, for now) will come up with.

One of the most important aspects about Orcas is the continued investment and commitment that Microsoft seems to display with respect to supporting and improving the C++ language features.

Here are some details related to enhancement towards programming in Managed C++ (the .NET version of traditional C++ language) -
  • STL will come with a managed version for those that would like to use STL containers in Managed C++
  • These STL containers will allow for easy conversions / interchange between STL Container types and .NET Types. For example - a std::map returned from C++ code can be received as an IDictionary object in C#.
  • Marshalling support will be extended via new templates that allow for ease of managing unmanaged memory in MC++ applications.
Unmanaged C++ will eventually feature -
  • A cooler version of MFC that will support VISTA like User Interface (yes, using MFC would not necessarily mean that you'd be stuck with Win 95 style controls!), and wrapper classes that supply more usable buttons et al.
  • There would be support for Vista UAC - if you have build C++ applications that need UAC elevation in VISTA using current versions of Visual Studio, then you know how painful it is to create and embed that manifest, for the moment.
  • Faster builds
  • Refactoring features (like intelligent Find / Replace that you see when programming in C#)
  • Squiggles for C++ code (akin to those squiggly-underlines you see when you type a syntactically incorrect line of code in C#).
  • Issues like Modules and Concurrency issues for Multi-Core / -Processor platforms were considered important.
The discussions were all very involving and throughly interesting. The days featured exhaustive sessions and the evenings featured parties that were just as good!