Microsoft Singapore invited me to have lunch today with Jay Roxe and Matthew Gertz. They are responsible for VB.NET 2005. We lunched at the Conrad Hotel in a small group of just 12 people. Matthew and Jay where very eager to hear and learn, what their customers expect in the next release of their products.
While you may might dismiss this a M$ style marketing stunt, I hat the very clear impression that they REALLY care! What a refreshing difference from the usual "dark empire" stuff we read about Microsoft. (Being the Lotus Domino expert it was my role to represent a dark empire then <vbg>).
We touched a lot of interesting topics. Two I'd like to highlight. Did you ever wonder why in .net everything is an object, straight forward, no brainer, simple rules? Or why Ctype() does a lot of checking to make your life really simple? Well Jay did that -- after he was lecturing at Singapore's NUS for a year (make your own conclusions).
The second: Matthew raised an interesting question for the future direction of development environments (VS 2005 will feature hints how to correct coding errors borrowing the technology from Word's grammar check -- and the idea from Eclipse (?)). His point of view, which I second, is that code alone (as seen in notepad) doesn't tell you the story any more. Besides code there is increasingly META data (coming from your UML tool, your code history, requirement analysis) that is as important as your programming statements. So he is thinking to add additional files hosting meta data or merging code into a big (XML based) meta data file.
And then he very briefly lifted the cover what they are playing with (eventually I get shot for that): Why is there a distinction between code and layout? Couldn't you edit code like you edit a word document? You would write code and have your form visible as graphic like you embed a graphic in a word file; your code that talks Web Service or ADO.NET is represented as a diagram; little boxes with comments (like the Word 'trace changes" function) point todo's, comments, implementation hints to the exact code position. Think rich composite document. Of course you could switch between textual and graphical representation for each block. Normal code could e.g. be displayed as a flow diagram (I you need that for your documentation today, check out Visustin
). I think this done well will boost productivity double digit.
I'd love to see that side of Microsoft more often.