præclarum

Search:

Frank A. Krueger
Seattle, WA, United States

Recent Posts

Eben Moglen
Feynman my Hero
Mr. Gore acting as Philosopher
Assimilated by Win32
Times Reader makes reading on the web enjoyable ag...
A Naive Implementation of MapReduce in C#
Saturday
My 20 Minute Experience with WinFX
Patterns of Integer Usage
Knuth’s Solution to the Permutation Problem in C#

My 1 Minute Trial of VB 2008 Beta 2

Monday, August 27, 2007 Link

Following my tour de force of trying WinFX for 20 minutes, I thought I would give the same treatment to the new version of VB. For reasons that are too varied to fit here, I have a special place in my heart for VB and think it's a pretty decent language (named parameters!), so I like to try it out from time to time.

VB, however, didn't get as thorough a treatment as WinFX - it pissed me off way too much within the first minute. This is too bad since I was looking forward to trying out some of its new features. (Maybe I'll come back to it when I'm more amiable.)

Also, I heard it's rude to complain about something without offering corrective action. So I decided to posts bugs for each of the problems that I will soon entertain you with.

Bug #1 lies with how annoying it is to post a bug. First you go to Help, File a Bug, then play with Micorosft's connect website. After about 6 pages of nonsense, I finally have a form where I can tell them what I think is wrong. To save you the pain, here is a direct link:

https://connect.microsoft.com/VisualStudio/feedback/CreateFeedbackForm.aspx?FeedbackFormConfigurationID=1160&FeedbackType=1

(Note to Microsoft, if you want feedback from users, make it easy for them to submit feedback.)


Now, here are the other bugs I filed:

  • Holding the control key and pressing arrows does not move the cursor. Holding control and pressing left or right should make the cursor move one "word" at a time (however VS defines "word" in this version). Instead, nothing happens. Can't believe they shipped Beta 2 with this bug.

  • Code formatter for VB automatically insists on inserting ByVal on all my params even though the documentation for VB clearly states that ByVal is the default:
"Passing Mechanism. The default mechanism for every argument is ByVal, which means the procedure cannot change the underlying variable element. However, if the element is a reference type, the procedure can modify the contents or members of the underlying object, even though it cannot replace or reassign the object itself." from http://msdn2.microsoft.com/en-us/library/cbs7z96t(VS.90).aspx.

I thought VB was a light-weight language? Why the hell then do I have to litter my code with all this ByVal noise? C# doesn't even require that.
  • Auto correction of missing subs is completely broken. So I type something like Call Foo("hello") when I still haven't defined Foo. The editor is nice enough to blue suiggle my Foo and to add an excruciatingly small outlined rectangle colored red under the last "o". Now in C# 2005, I just have to position my curso under "Foo", hit the context key on my keyboard, and choose "add stub method". VB, on the other hand, offers to create a unit test. Fine, so they screwed up the keyboard. Now if I position my cursor onto that 7x3 pixel rectangle...trying...trying...got it! Woohoow, it's expanded to something big and reminds me that I could have just hit Ctrl+Alt+F10. Thanks, that's a lot easier than just hitting the context key. Anyway, I can now easily click the big square, and, and, nothing. No corrections found. WTF? You can't even generate a stub for me? What about Ctrl+Alt+F10? Doesn't do anything. SOL I'm afraid.
And thus ended my one minute trial of VB 2008 Beta 2. My conclusion, it sucks. Oh my God, I can't even skip by word. It'll be a cold night in hell before I try to code in such a beast. When it ships again, I will give it another try. It is worth at least one minute of my time...

If you want a good development experience, just couple Resharper to VS2005. No, you don't get declarative queries, or extension methods, or literal XML. But you do get to write code. An ability that seems more and more difficult as these IDEs improve.
[Update 9:00 PM] Atleast Microsoft is fast with their initial responses. Two of the problems (the ByVal redundancy and the broken help for undeclared Subs) have been passed on to the appropriate teams. Given that Orcas is currently in it's endgame, it's possible that the issue might make it to the war team. Now the war team is responsible, essentially, for saying NO. It's their job to ship the product at a good level of quality on time. As we all know, introducing features (even options are features) at this time is generally a bad idea. Docs have to be changed, UIs changed, features implemented and tested, it's all a lot of work. Kinda late in the game to do that unless the feature is really worth it. So is removing ByVal, or fixing the Sub autogen worth it? My opinion is yes, but I can completely understand people's rejections.


Now the issue of the Ctrl word movement, the bug has been resolved pending their ability to reproduce. I guess you can't fix something unless you can analyze it. I understand. So I have two options, I can try to narrow the environmental characteristics down to the point where they can reproduce the problem, or I can just ignore it and hope it's a fluke of the machine. If I was a tester at MS and this happened on my machine, then I would be obligated to follow through with this problem. But if this is just me at home, then I'll just cross my fingers and hope for the best. Ship it.

[Update, the next day]

Looks like Microsoft threw down the hammer and has decided that both bugs won't be fixed. Guess I won't be using your language fellas. I'll catch you at version X. Perhaps you'll see the light by then.

Reader Comments

Post a Comment