Visual Studio 2010 - your chunky new friend dissected
Nice package, shame about the platform
Windows 7 is roaring ahead in acceptance, but look beyond the desktop and Microsoft's platform is not in great shape.
Microsoft is losing to Apple, Google and RIM on mobile, in cloud computing Azure is only just getting started, Internet Explorer is down to a mere 61 per cent market share on browsers, and there's been a slow but steady decline in web servers for Internet Information Server (IIS) from around 20 per cent of the million busiest sites in September 2008 to 17 per cent in March 2010.
In Rich Internet Applications, the Silverlight runtime has muscled its way onto over 50 per cent of web browsers but remains well behind Adobe Systems' Flash at over 96 per cent.
Microsoft does its best work when under stress - Windows 7, for example - and to further prove this theory, Visual Studio 2010, due today, is the company's best developer release for years.
There is no shortage of new features, so much so that Microsoft itself has done a poor job of communicating the extent of the changes. The starting point is a new editor and shell built with Windows Presentation Foundation, and a new Managed Extensibility Framework to stitch together the various components that make up the Visual Studio package.
If you use multiple displays, the ability to float windows from one display to another is almost worth the upgrade in itself. Another welcome feature is standard UML diagramming, though you need the Premium or Ultimate edition for this.
Next, there is version 4.0 of the .NET Framework, a major release in itself, adding the Dynamic Language Runtime along with dynamic features in C# and Visual Basic, much improved concurrency support based on a set of extensions called the Task Parallel Library, and a revamp of Windows Workflow that makes this framework and runtime more interesting for enterprise applications. There is also a new language, Microsoft F#, which may succeed in bringing functional programming into mainstream enterprise development.
Expressions and assertions
Visual C++ 2010 has added several features from the emerging C++0x standard, including lambda expressions, compile-time assertions, the auto keyword for type inference, rvalue references, and long long for a 64-bit integer. Parts of the C++0x standard library are also included.
In addition, the new Concurrency Runtime schedules and manages parallel tasks, simplifying concurrent programming. Some will remember the eccentricities of early versions of Visual C++; today's developers are getting a much improved tool.
This is the first version of Visual Studio since the launch of Windows Azure, and comes with Azure project types, though it was disappointing to discover that even the version that's been released to manufacturing requires a separate download of the Azure SDK and tools. At the time of writing, these tools were still a pre-release version.
Next page: Silverlight shine
And again no mention of code generation.
Amidst all the ooing and ahing over the newest eye candy, it would be nice to get at least the barest inkling of how this program does at its intended purpose: creation of Windows executables.
How big are the binaries relative to VS2008? Relative to VS2005? What instruction sets (remember those?) are supported by the compiler? Can post-SSE2 instructions be automatically generated in the binaries or are explicit intrinsic functions still needed? What is the relative performance of a VS2010 binary compared with the same C/C++ source compiled by VS2008 or VS2005?
Pffftt!! Some tech site.
Yeah, I heard about the reference dialog improvement and that will certainly remove a significant headache.
But my problem with vs2008 (and its predecessor) is just that they are unpleasant to use. It often feels like someone (probably a VS expert) knocked up the dialog in order to give access to the functionality but didn't bother to run it through user testing. That leaves all sorts of pitfalls and gotchas for the less wary. Okay so they are rarely fatal but they can waste a lot of time in general 'faffing' around and cause stress that isn't directly related to the job in hand.
The analogy I often use is that of a racing driver. They spend weeks preparing for an event, studying the circuit, testing how the car responds, examining telemetry second by second and viewing hours of footage from previous events. On race day they approach the car all psyched up ready to grapple with the intricacies of the race - and discover that someone has forgotten to bring the seat.
It's that kind of pointless, time wasting idiocy that gets right up my nose with vs2008. Lots of silly loose ends that - IMO - the IDE should quietly and efficiently sort out for you. Instead it keeps dropping them in your path and tripping you up.
Am I missing something?
"If you use multiple displays, the ability to float windows from one display to another is almost worth the upgrade in itself."
What exactly is so special about that? Can't you do that already? I can on Linux/Gnome anyway.
Or I parsing that sentence incorrectly?