Category Archives: PDC03

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…)

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.

My PDC Calendar

There’s definitely some weird juju over this PDC. While I was fortunate enough to make it into Los Angeles without trouble (I came in a day early), last night I started getting the sniffles. And, yep, now it’s developed into a full-blown cold. What great timing! Anyway, I’m drinking lots of fluids and getting as much rest as possible in preparation for the week ahead.

Here’s what I’m going to be up to, assuming this cold doesn’t get any worse. I hope to see some of you! (Disclaimer: My schedule is subject to change, so caveat emptor…)


If I’m not anywhere else, I’ll likely be in the Programming Languages and Tools Track Lounge.


Eat chicken soup, rest, drink lots of fluids…


6pm – 9pm: Staff the Pavilion
10pm – 11pm: BoF46 Experiences and Concerns in Migrating to .NET and Visual Basic .NET

(I’d love to come to the Weblogging BOF at 10pm too, but VB is closer to my heart!)


11:45am – 2pm: Staff the Pavilion
2pm – 3:15pm: TLS200 Visual Basic “Whidbey”: Rapid Application Development for the Visual Basic Developer
3:45pm – 5pm: TLS300 Visual Basic “Whidbey”: Advanced Language and IDE Features
6:30pm – 9pm: Ask the Experts
9pm – 10pm: BoF24 Reader to Author to Publisher for .NET
11pm – midnight: BoF19 Alternate Programming Languages


Play it by ear…


11:30am – 1:30pm: Programming Languages and Tools lunch in Languages Track Lounge
1:45pm – 3:15pm: PNL10 The Future of .NET Languages

Drinking from the firehose in LA

OK, I’m here and desperately trying to catch up on all the PDC blog entries that have been posted since I last looked at my NewsGator folders on Thursday. Sheesh. (I came into the Westin on Friday and took the weekend off to recharge after getting the manuscript in.) Hopefully later today I’ll have a chance to post some more stuff about interesting things for VB people at the PDC (as if you haven’t already found them yourselves).

PNL10: The Future of .NET Languages

I will put in one plug, though. I’m going to be participating on a panel on Thursday at the PDC entitled “The Future of .NET Languages.” Should be a very interesting discussion, I hope to see everyone who’s attending the PDC there! You can even submit questions and check out the bios of the various panel members (including me). Please do submit some questions!

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

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

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…

Mysticism and the PDC

I’ve followed with interest some of the discussions touched off by Ole’s entry on “Oh, not Oooh” and his follow-up piece. On the whole, I would have to agree with his overall thesis regarding the run-up to the PDC: even though I work for Microsoft and think the PDC is going to be awesome, I’ve found the quasi-mystical aura that many people (who I won’t mention by name) are trying to impart to the conference somewhat confounding at times.

My biggest issue with the mysticism is that it engenders this whole “complexity vs. simplicity” debate that’s swirled around Ole’s entries, and which I think is a red herring. The question is not how complex a technology is or how simple it is, the question is how organic it is. Case in point: in many of these discussions, the transition from VB6 to VB.NET is held up as a canonical example of moving from less complexity to more. But the truth is that from a complexity standpoint VB6 was probably a more complex product than VB.NET is. What’s different, though, is how the two products surfaced their complexity to the user. VB6 did an excellent job of tucking away the things that most people didn’t need in their day to day work – maybe a little too well at times. And it did an excellent job of sticking features right where you expected them to be. (A big feature for Whidbey is going to be returning Edit and Continue to the product, but the reality is that before VS 2002 most people probably weren’t even aware that Edit and Continue was a feature at all. They just did what they wanted to do and it worked. No thought required.)

In many ways, though, VB.NET is much simpler in terms of design and implementation than VB6 was. The problem (such as there is) is that complexity in VB.NET has been surfaced in ways that still do not feel entirely natural. Indeed, a lot of the work that our team has before us in Whidbey and beyond is not removing complexity but trying to create a more natural way of working with the product. This is what I mean when I say that technology should be “organic.” Well designed products don’t surface every bell and whistle to the user, they follow a principle of Everything in its Place. Using technology should be all about a natural unfolding of the capabilities of the technology as you need them, not shoving all this cool stuff in your face at once. And despite all the hoo-hah about complexity, I think that the .NET platform has actually gotten a pretty good start on this even if there are some rough edges that need to be worked on.

Ultimately, I think that this is really what the PDC is going to be about: letting people know about how we’re going to make your life easier and more natural, not how we’re going to “change Windows as you know it.” If we do our job right, developers moving to Avalon and Longhorn and Yukon and Whidbey and so on should feel like they’re meeting an old friend who they haven’t seen for a long time. Sure, there’s going to be a lot of catching up to do, but you should also immediately feel that familiar rapport, that feeling like you’ve known them all your life.

Whether we achieve that remains to be seen, and I think that’s worth showing up to the PDC for…