Category Archives: Visual Basic

Even more chat information!

Some VB.NET chat information:

  • The transcript for the Sept. 30th chat on “Visual Basic .NET Language Design“ is now up on MSDN. Check it out!
  • Mark your calendars for Nov. 11th for a chat on “New Features in Visual Basic ‘Whidbey’“. It’ll be a great chance to ask those questions that occured to you after you left LA and had some time to digest the Whidbey build you got at the PDC!
  • And on Nov. 18th, we’ll be talking about “The Essentials for Programming in Visual Basic .NET“. Be sure to come with that language conundrum!

More information about the upcoming chats can be found on the MSDN chat page. Hope to see you all there!

Now I know how Paul McCartney must have felt…

The most aggravating thing to hear from customers at the PDC? “But I heard from (someone) that VB is (going to be dropped/going away/dead) and that we should switch to (insert language here).” (I hope it goes without saying to loyal readers that this is not true. Otherwise, I’m mystified why I keep getting that check in the mail every month…) It’s not the customer’s fault they got faulty information, but it’s still aggravating nontheless.

I will say that this is so far a very, very, very small piece of the customer interactions I’ve been having here at the PDC. The general consensus seems to be that Whidbey is really going to hit it out of the park for VB users, which is wonderful validation for the hard work the team has been doing. Now we’ve just got to ship it!

(Hmmmm… I wonder if you play some of Don’s songs backwards you’ll hear “VB is dead.” I’ll have to have a chat with Mr. Box about that…)

Language/tools roadmap updated

Someone pointed out that MSDN has updated its Microsoft Developer Tools Roadmap to include a lot more information about upcoming releases of VB, C#, C++, etc. I highly recommend checking it out if you want to get more information about the future, right from the horse’s mouth.

(I apologize for not linking to the person who pointed out the update – unfortunately, I deleted the entry and I’m having problems finding the entry using Google, Feedster, etc.)

We won’t be left out of the Longhorn party…

Unfortunately, I missed the Monday keynote between nursing my cold and trying to get my wife on a flight back to Seattle. Apparently during the keynote, though, Chris and/or Don made a comment about the C# command-line compiler shipping as a part of Longhorn. (See places such as Peter’s keynote notes.) Which, of course, has prompted a number of queries, “Does that mean VB won’t be shipping with Longhorn?”

Nope, it doesn’t. We’ll be right there alongside C# in Longhorn. The VB command-line compiler is part of the same set of components as the C# command-line compiler is, so anywhere we go, they go. And vice versa.

Names changed to protect… somebody.

I’m reviewing VB runtime functions as I work on my book and I noticed that the VbTypeName function has a very odd parameter name:

Public Function VbTypeName(ByVal UrtName As String) As String

Huh? What’s that “Urt” thing? That’s just one of the five hundred names that was attached to what eventually became the Common Language Runtime (or CLR for short). URT stood for “Universal RunTime.”

As I think I mentioned when I was talking about codenames recently, the one thing you can count on at Microsoft is that there will be absolutely no consistency or constancy to names over time. I have no idea why that is, but it just seems to be that way.

Lies, damn lies, and…

Scoble notes the fact that the #1 download on MSDN is “Code Samples for Visual Basic 6.0” and comments that “there are still a lot of people coding on old Visual Basic.” This is undoubtedly true and something worth keeping in mind, but what’s interesting is that I’ve also seen this fact used by some of the VFred crowd as “proof” of our failure in getting people to move from Visual Basic 6.0. Given the sea change that was .NET, migration is undoubtedly going to be a long-term process but I noted with interest that all but one of the rest of the entries were .NET related and several of them were specifically about Visual Basic .NET. I think we’re near the tipping point, if we’re not already past it.

Of course, the reality is that the page doesn’t contain numbers, so it’s hard to know whether/how much all the .NET content combined overshadows the VB6 code samples, so take it for what it’s worth…

Miss Congeniality

Brad Merrill asked for a more “chatty” bio for the panel discussion page than the one I submitted for the speaker bio section. He also asked for us to talk about any “big questions” we might think about. See if you can find the most important one in there…

All programming involves making tradeoffs and compromises, but language design reduces the problem to its most stark terms. Stripped of the fancy graphics of a GUI or the richness of an object model, programming languages are the alligators of the computing world: very much alive, yet in many ways unchanged over millennia as the environment around them underwent radical transformation. How do you evolve something so perfectly suited to its task, yet so limited in its ability to absorb mutation?
Sweeping metaphors aside, programming languages continue to bump up against the limitations of their medium, namely plain text. Is it possible to look at code in ways other than text that might help programmers be more productive and make programming easier to learn? And what about the Tower of Babel-like profusion of domain-specific languages over the years such as SQL, XML, etc.? Is there a way to find commonalities between differing language domains in a way that enables people to write code that spans them using only a single language? (Without, of course, having that single language become Esperanto?) And, most importantly, will VB ever get any respect? These are the questions I ponder late at night…
I joined Microsoft in the antediluvian past, namely 1992. Back then, Windows 3.1 was the hot new operating system taking the world by storm, a little project named Visual Basic had just shipped, and I started on an upstart database product named Microsoft Access. I ended up working on Access for nearly four and a half years, and after Access 97 shipped I took a job working on OLE Automation, thinking it was the future of component automation. What did I know! Fortunately, after shipping Visual Basic 6.0 I moved over to work on the Visual Basic compiler proper just as the team started working on moving it to some new runtime that Microsoft had decided to build. Four years later, we shipped Visual Basic .NET 2002. Along the way, I moved from being a developer working on code generation to managing the compiler team and working on the design team for the language. Now I’m working full-time on design issues, as well as continuing to write the Visual Basic .NET Language Specification and working on a Visual Basic .NET language reference book. You can find my weblog at http://www.panopticoncentral.net.

Should be an interesting discussion.

“…and my platform is world peace.”

Like Chris, I don’t particularly like writing a bio. However, I’m going to be sort-of speaking at the PDC, so here’s mine: (I figure I should get some mileage out of it since I had to go through the trouble of writing it.)

Paul Vick is a Technical Lead on Visual Basic .NET, where he has been a part of the VB language design team since 1998. Paul originally began his career working at Microsoft in 1992 on the Microsoft Access team. After shipping versions 1.0 through 97 of Access, he moved to the VB compiler team in 1998. He participated in the design and implementation of the Visual Basic .NET language, driving many of the language changes for .NET. He is the owner and author of the Visual Basic .NET Language Specification and his weblog can be found at http://www.panopticoncentral.net.

I say I’m going to be “sort-of” speaking because I’m not going to be giving a talk on VB, but I will be on the languages panel later in the week. Since there’s only one VB language talk being given, there was a little mini-contest between me and the PMs as to who was going to give the talk. Amanda and Steven won. Suckers…

From our mouths to your ears in Internet time

It’ll be a little while before the official transcript of the chat yesterday is posted up, but Tom already has a pretty accurate list of the highlights. One interesting aside he made was:

BTW: In case you couldn’t imagine this yourself: I like VB.NET and hope we won’t see any “last minute changes” like we saw with the first release of Visual Basic .NET. I was really happy with some features that were introduced in the first beta of Visual Basic .NET (like short circuit evaluation) that I was a little disappointed when I read/experienced they were removed or were moved to different keywords (OrElse and AndAlso in case of short circuit evaluation). But such things can happen when you start working with beta software…

As far as beta releases go, we explicitly try not to make radical changes between beta releases. By the time we reach beta, things should be relatively stable so that people can reasonably see how the product will work in a real production environment. While we can make design changes between beta and sometimes add or remove things based on feedback or further experience with the feature in the wild, the VS 2002 beta cycle was extraordinary in a lot of ways. Users should expect that, from a language perspective at least, the beta releases should be pretty stable. Although I reserve the right to eat those words, should the need arise…

I’ll add, though, that all bets are off when it comes to alpha releases such as the one that we’re going to be releasing at the PDC. Since what you’re getting, again from a language perspective, is not even what we consider a finished product, things may change substantially between alpha and beta. Mostly it will be new stuff that’s been coming online after we dropped the alpha, but there is some stuff that we’ll likely be fiddling with. So caveat emptor on that.