Some silly person (with a silly name) had the audacity to make the following claim yesterday in the feedback section of my C# express post:
"the vb and webdev express tools would be neat for our devs to try out. yes, smear vb all you want, it's still the best tool for what we need to do. while they're at it, i'll see if they want to try c#. it's nigh impossible to convince an army of supar-fast vb coders to switch to something else, but it looks like these express packages are a good way to play around.
(so supAr-fast, they can't even be bothered to spell right!!).
Well, her name isn't actually all that silly (maybe an itsy bit. but then so is mine). And when you know her in real life she is actually pretty awesome. And there is a heck of a lot of truth in what she said. In fact, she's definately not the first to say it here. Kavan and others have been pretty adamant that there are features whose lack in C# causes serious development woes after being accustomed to them in VB.
As many of you have seen, I usually play a pretty strong Devil's Advocate (i.e. "someone who takes the worse side just for the sake of argument") when people suggest changes or features. I do this pretty much because I won't want to work on something unless I thought it was worth it. And if you can convince me that it's worth it after I take the opposing position, then it is probably a pretty darn good idea 🙂
So I'd like to know what it is about the VB language/toolset that you not only love, but you think makes you a better (in whatever way you measure it) developer, and which you find noticeably, and detrimentally, absent when you're in C#.
I'm going to head off the pass by saying that we're very aware of Edit&Continue. We completely understand that there are many out there that find it an indispensable tool. About the only thing that would change that opinion is if we suddenly got a wave of negative reactions to it, and so far that hasn't happened yet. Of course, you're absolutely free to mention it 🙂 Named parametes and optional parameters we've already had a long discussion on, but I'm still looking for examples to help convince me that they're a good thing in the end.
Interestingly enough, when we've brought this up other times, one of the most common responses was: "In VB, when you call a method that takes an Enum, the Enum automatically comes up preselected, so I can just select the value". We heard this so much that we've added that to whidbey. However, I feel that there are other things that are also much more important then that editing boost and we would really like to know what they are for you.
Alternatively, if there are things in VB that you really dislike and definitely do not want to see in C#, let us know about those as well. Currently we feel that we don't want to throw in everything, but based on how you feel that might change in the future.
Oh, and Fuzu, if you can stop being the maniacal task-mistress for 5 minutes, we'd really appreciate it if you could get a dev or two to tell us why VB makes them sup4r-f4st!! There's a free dinner (or more) in it for you if you do!