As a matter of fact, I will go one step farther. I challenge anyone at MS to make that justification here and now. Why is "My" a needed feature, and if it's needed, why is it not needed in any other language than VB? Why is it "more" necessary than other
features that have already been cut out of the VS 2005 release due to time/resource constraints?
For justification, I'd refer you back to Duncan's article. (See the link at the top of this thread.) He's summarized it pretty well. For what it's worth, almost every VB developer that I've talked to, including those who use both VB and C#, is really excited
about the My object. I think a big part of this is because of the way that we've built the feature: we're not trying to hide the framework, just make it easier for you to get the most out of it. It's pretty hard to use a framework function if you don't even
know that it exists.
I think your "why is it not needed in any other language" question is a good one. We've heard from a lot of developers that they really like the fact that C# and VB are so similar, and that it's easy to switch back and forth. We're not going to back away from
that, and Whidbey demonstrates that pretty clearly. Big enabling features like generics are in both VB and C#. Each team has it's own priorities, though, so it's unlikely to see us both always doing exactly the same things at exactly the same time.
has anyone definitivly said the My Object WILL NOT be available to the c# developers? If it is just another namespace in the framework, I would think we could reference it if it is a subset of the system namespace. If is a subset of the Microsoft.VisualBasic
namespace I beleive you can discoverand use it through reflection. If is a new language feature, than its not really a namespace so much as a language keyword and compiler object. In that case, then yes, it would not be available to the c# developer. Even
in that case it will just be a matter of time before some does write a wrapper class for it so that c# developer can consume the same features. Correct me if I am wrong. Back to my original question... has anyone actually said definitivly that c# will not
be able to use the my object??
has anyone definitivly said the My Object WILL NOT be available to the c# developers?
I don't expect the My object to be in C#, but I'm not the authority. Someone on the C# team like
Eric could make a more definitive statement.
If it is just another namespace in the framework, I would think we could reference it if it is a subset of the system namespace. If is a subset of the Microsoft.VisualBasic namespace I beleive you can discoverand use it through reflection. If is a new
language feature, than its not really a namespace so much as a language keyword and compiler object.
I think this all makes more sense if you realize that big parts of the My object are dynamically generated in each project that you create. As you add forms, resources, settings, and web services, they all get built in to the My object, so that you get strong
typing and IntelliSense when you type something like My.Settings.DefaultBackColor. It's this dynamic generation work that another language like C# would have to add in order to get the same experience that is in VB Whibdey.
Steven, thanks for your response. However,
It's pretty hard to use a framework function if you don't even know that it exists.
I still think improving documentation/reference is the best method of solving this. I am a developer, and everytime I'm stuck I fire up some doc/MSDN article/Google etc. I don't need "speed-dials", I just want to know what's in the framework. "Lazy" developers
are bad developers, imho.
We already heard that Whidbey's help will greatly improve. So I just don't see why MS would spend resources on both this "speed-dial" namespace
and improving help functions. But, again, that's my opinion..
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.