The last time we got the chance to talk to Mohsen Agsen, a Microsoft Technical Fellow who runs the Visual C++ engineering team, he put forward the notion of a renaissance taking place in the native world. Shortly thereafter, we created the catchy C++ Renaissance mantra. (Mohsen is great at building metaphors in real time. See if you can identify a few new ones in this conversation!) The reception to C++ Renaissance message has been great (and, in some sense, unexpected). Now that some time has passed, let's revisit this meme and get a sense of what Mohsen really meant by a renaissance taking place in the native world, and C++ specifically. Is this renaissance taking place in the industry at large, or was Mohsen focusing on what's going on inside of Microsoft? Maybe it's both (at least from the native perspective, given Obj-C, C, and C++ usage outside of Microsoft).
Mohsen works in the Microsoft Hawaii office, located in Honolulu on the great island of Oahu. I was recently in Hawaii for the ICSE 2011 conference in Waikiki, so I was able to visit Mohsen to continue our conversation from a few months back.
It's really easy to talk to Mohsen—he's passionate, engaging, curious, and, most importantly, honest and open. There's no marketing in Mohsen. He's all engineer. When I asked him about what he thinks is needed in C++ and VC++, specifically, he answers, but he also asks YOU for your opinions on the matter -> How do you use C++ today? Are you interested in using C++ for building high-level UI-centric and data snacking apps? What do you want the VC team to focus on? Please answer these questions in this post. Mohsen and the VC product team will be looking for your answers here, so speak up! And thanks for asking, Mohsen. Very cool.
Tune in. Enjoy. (And remember to tell Mohsen what's on your mind regarding what he asks you in this conversation.)
Questions/Topics (click the link to navigate to the topic/question):
Mohsen asks you -> How are you actually using C++ today?
Mohsen asks you -> How do you think about the breadth of the language for mainstream scenarios (web services, data access, data snacking applications, etc)? Are you using C++ for these types of things? How broad should we think about the language beyond systems?
Do you have a sense of how many VC++ developers actually use any of the other language tools inside of Visual Studio—so, would VC be able to ship faster if it wasn't bound to VS? (Yes, a weird Charles question born in situ during the conversation!).
What do you want to see added to (or what's missing today in) the C++ language/libraries/tools? (Mohsen asks you -> What existing libraries should become de facto standards like the STL?)