Will MS Leave C# Behind?
Keith thinks VB developers are making a mistake if they switch to C#:
"What seems clear to me, though, is that any particular developer can't optimize for both ends of the spectrum at the same time. What's has been sacrificed so far is the focus on the end-user's needs. Microsoft has talked about re-enabling RAD - and has indicated that the emphasis will be on VB - yet C# developers seem to believe that they'll get all the RAD stuff as well. Can that really be true? Can Microsoft really optimize a programming language & toolset for both solutions builders and platform builders? In my opinion, VB developers transitioning to C# are betting the answer to that question is "yes". And I don't think that - in the long run - that is going to be a good bet to make, particularly if your strength lies in building end-user solutions."
First off, I would like to point out that there is no "official" comments from MS on this yet, so everything here is speculation. However, I have heard the message too, and I think you are missing the point. Both C# devs and VB devs are going to get the productivity benefits of future versions of the .NET framework (ie. DataSpaces, ASP.NET 2.0, Cool WebService Tools and Extensions, etc.), which significantly outweigh the benefits of some UI enhancements that might appear in only one of the code editors.
A substantial portion of the design time functionality is built into .NET as well, and is NOT language centric (see the System.ComponentModel namespace and all the Designer classes in the framework). So that ain't going away any time soon either.
However, it is correct to say that VB.NET is going to return to its "RAD roots" (By RAD, we mean it will be quick and easy to create slick little mom and pop apps with it again). But serious development and serious productivity has little to do with your code editor and little to do with which .NET language you are using. Yah, maybe you can code faster with auto-complete, but if your application is designed properly, you are going to need that auto-complete a hell of a lot less, because you won't be rewriting it every 6 months.
To that extent, we will be seeing a lot more tools focusing on "non-coding" time that are built into / integrated with VS.NET (think support for patterns within the IDE and within the .NET Framework, refactoring support, automated testing tools, etc.). These types of things, once again, are NOT language centric, so no matter what language you are using, you are going to be able to use them.
In any case, there are numerous reasons to transition to C# from VB and numerous reasons not to transition from C# to VB. These have all been hashed and rehashed, so there is no need to mull over them again; however, I am very sure of one thing: if you have a valid reason to make the switch, don't delay it because you are afraid that 5 years from now you will miss out on some hypothetical VB.NET code editor with a cool new version of auto-complete that does your coding for you.