As the dust from this week's Server and Tools Business reorg inside Microsoft is starting to settle, it's time to move from looking at the "who's" to start looking at the "why's" and "how's."
Why did the Microsoft brass decide to move Microsoft's developer marketing and evangelism under Developer Division chief Soma Somasegar?
"Microsoft has an enormous relevancy issue with developers," said one of my contacts familiar with Microsoft's thinking. Some just-leaked Hewlett-Packard public-cloud strategy information -- with its emphasis on Java, Ruby and "open source languages" -- brings this point home. While C#, C++ and Visual Basic still have their advocates, non-Microsoft-backed languages like Java, Ruby, Python, PHP and Objective-C are holding their own, growing as fast, if not faster.
From Somasegar's own reorg e-mail to the STB organization, it's clear that there's pressure to grow the Visual Studio business from its current $1-billion-plus size to $2 billion. (Visual Studio is one of a handful of Microsoft businesses, beyond Windows and Office, that have crossed the $1 billion threshhold already.)
How is Microsoft planning to do grow beyond its established developer base?
One way seems to be to put some muscle behind the company's native dev tools, like Visual C++. I noticed a brief mention in Somasegar's e-mail of "WinC++." It turns out that the new name for Visual C++ is going to be WinC++ -- something confirmed by a Microsoft job posting which mentions the "Windows C++ a.k.a. Visual C++ team."
I wondered: Is WinC++ nothing more than a new (and obviously Windows-centric name) for an old compiler?
It seems from another Microsoft job posting that Microsoft is really pushing the idea that C++ will be key to building applications for the coming version of Windows. From that posting for a Program Manager for WinC++:
"Are you excited about the new possibilities that the Windows platforms unlocks for applications? Do you want to connect with and encourage C++ developers across the globe to build cutting edge, unique Windows experiences?"
(The Windows emphasis reminds me of what the Internet Explorer team is doing, with its growing emphasis on how IE 9 is better/faster because it is optimized to take advantage of Windows 7 and beyond. It seems like the team plans to do the same with IE 10, with its "now with more native HTML" messaging that will point back to Windows 8 as the great enabler.)
Next question: Will Microsoft do more than just rename its C++ product and actually bring new C++ functionality to the table with the next version of its Visual Studio suite, expected to be called Visual Studio 2012? The answer seems to be yes.
From another Microsoft job description that mentions WinC++:
"Do you want to help developers create applications in C++ for the next version of Windows? Do you want to dig into a new version of COM (Component Object Model) and create content that shows off its capabilities? Do you want to write about new programming models for the next version of Windows?"...
"The team is engaged in a number of aggressive investments in C++ language innovations and native code development targeting very large and complex development projects. It is also working on technologies to enable C++ developers to have a rich development environment by making the IDE (integrated development environment) more scalable, easy to use, and most importantly agile to accommodate what modern C++ developers need. These investments will directly influence nearly all Microsoft software products as well as many top-tier ISVs. We are embarking on some very ambitious and impactful features on several fronts, including language and code generation innovations."
Another Microsoft WinC++-related job post mentions "new developments in C++ and COM that are releasing with Visual Studio, as well as writing about additions to existing C++ libraries, such as the Standard Template Library."
Here are a few other possibly related observations:
* Microsoft's Channel 9 team has been posting more content lately about C++. * As part of Microsoft's Server and Tools reorg this week, Microsoft moved the Parallel Computing and Tools team (headed by Steve Teixeira, David Callahan and Shahrokh Mortazavi to "a combined WinC++, PCP (parallel and/or high-performance computing project?), and UX organization under Mohsen (Agsen)." Agsen is a Technical Fellow currently working in the developer division, who has been instrumental in COM+ and the Common Language Runtime. (He is talking about a "C++ renaissance" in this February 2011 Channel 9 interview.) * The Microsoft "Jupiter" Windows 8 development environment about which I blogged earlier this year, seems to have something to do with "XAML plus native code." C++ was one of the languages possibly slated to be supported by Jupiter. *Maybe there's a connection with Windows Embedded Compact 7 (and any phones/slates that make use of this platform), as well, given the C++/XAML support in that operating system.
I'm curious if any of you developers out there have any observations, guesses or wish lists to share that might shed light on what Microsoft is doing here? What do you make of this WinC++ talk? What else would you like to see in Visual Studio 2012?