Category Archives: Visual Basic

Channel9 interview on VB…

The VP for the division that VB is a part of, S. Somasegar, recently sat down with Ken Levy for Channel9 and had a chat about VB, the future and other stuff. Ken asks him a lot of the frequently asked questions about VB, like:

  • How much does Microsoft use VB internally?
  • How much does Bill Gates care about VB?
  • Why wasn’t there an unmanaged VB upgrade from VB6?
  • What are the plans for the future?
  • And more…

I’d encourage people to check it out…

(Funny side note: To deal with the persistent annoyance of comment spam, I instituted some extra filters in the blog database that would reject any posting that contained certain words in the title such as that drug that people use for ED. Because I included the full range of pharmaceutical drugs that seem to be all the rage in spam these days, my original post, which was entitled “Soma on VB and other things,” was initially rejected because “the title contains a banned word.” Oh, yeah, that’s right. There’s some drug called “soma.” Oh, well…)

Heading to Japan…

Just as an FYI for those of you in Japan who read my blog, I’m going to be in Tokyo next week for the Microsoft Conference 2005, where we’ll be doing the Japanese launch of VB 2005! I’m going to give the VB 2005 launch keynote, which is very exiciting, as well as doing a number of community events. My only regret is that since the conference is the week before Thanksgiving here, I’ll only be in Tokyo (a place I’ve never been before) for only a few days… Maybe next time!

Is VB 2005 buggy?

In the comments to my notice that we shipped, karl asks:

I haven’t played with VB.Net 2005, but are all of the bugs also causing problems? Most seem CLR related, but with a hint of IDE link, and I know C# and VB.Net don’t share all the IDE code.

The list of reported issues has put a halt, possibly permenantly, on my push to upgrade the entire team to 2005.

I’m guessing Karl is talking about a lot of the blog entries that came out around the release of VS 2005 to MSDN subscribers, some of which are summarized by MiniMSFT.

So, is VB 2005 a buggy piece of crap? In a word, no. Although I have not been intimately involved with bug triage for quite some time, I do know that we’ve spent a very long time working very hard to ensure that VB 2005 (and VS 2005) is a solid, quality release. My own personal experience with it is that it’s very stable and so far I don’t see a groundswell of complaints that would indicate serious problems.

When, then, to make of the brouhaha? Well, first we should be clear: VS 2005 shipped with bugs. This happened for two reasons. One, as has been discussed elsewhere, the only way to “converge” on a release is to steadily raise the bar for the severity of bugs that you’re going to accept fixes for in the product. This is because every bug fix, no matter how benign, has the possibility to uncover or cause more bugs. Ergo, the only way to reach a steady state is to stop fixing most bugs. Some bugs, I should be clear, are always going to be fixed if found before shipping — if we product incorrect code, for example. But others can be postponed. And this is how it’s worked for pretty much every product you’ve ever bought from Microsoft (or any other vendor, for that matter, I would guess).

The other reason VB 2005 shipped with bugs is that I know that there are bugs we didn’t find. Again, Whidbey was a pretty long release cycle, so we had plenty of opportunities to flush out problems. But no matter how hard we look, there are always bugs that slip through. We could spend years in beta and still would find serious problems after we ship. It’s a fact of life given the myraid of different ways that our products can be used.

OK, so what about the reports of bugs bouncing around the blogsphere? Like I said, it’s inevitable we shipped with bugs so I’m not surprised that, given the high level of sophistication of the most prolific bloggers, a few things are going to show up right away. Murphy’s Law in action. However, as I also said, I’m not seeing the volume that would indicate significant problems. Instead, it’s a handful of reports that have then been bouncing madly around the echo chamber of the web. This doesn’t mean that the bugs that have been verified aren’t real or aren’t serious — any bug that impacts a customer is a serious problem and one that will need to be addressed — just that the preponderance of the evidence so far is that we’ve got a solid release. Time, of course, will tell. I encourage anyone who’s worried about the stability of the release to: a) give it a bit of time and see what the consensus is after people have had a few months to live with the release, and b) try it out yourself and see what you think, either by using the trial version or the Express version (see here for links to those).

All this is deja vu for me, I might add. The very first product I shipped at Microsoft was Access 1.0. It was a great product and a solid piece of engineering. However, we had a slight mishap — during the launch event at Comdex, Bill Gates was up on stage with someone (forget who) doing a demo of the great features of Access 1.0. Everything was going great and then suddenly WHAM! Access crashed. (Thankfully, I was in the second wave of team members to go down to Comdex, so I only heard about it. Half the team had to sit in the audience and just watch the whole thing unfold.) This wasn’t great, but in theory it wasn’t the end of the world — after all, it was just one crash. However, Phillipe Kahn, whose product Paradox for Windows we had just beaten to market by (I think) a good six months, saw an opening and started going on about how people shouldn’t buy Access because it was “too buggy.” Was this true? No. Did it matter? Not really. The perception stuck and was part of the reason that we shipped a 1.1 version, so people would think that we fixed all those nasty bugs that weren’t really there. (Of course, in the long run, Access did just fine.)

I doubt that’s going to happen here, thankfully…

Oh, and, yeah, we launched, too…

In case anyone missed it, we launched Visual Basic 2005 this Monday (along with a couple of other small products like SQL Server and the rest of Visual Studio)! This means everyone can now get their mitts on VB 2005 — you can also get trial downloads and the free-as-in-beer-for-a-year Express version.

 

We’ve also updated the VB Dev Center, so check it out! Now the fun can begin…

VB LINQ preview now updated for VB 2005 RTM

Now that VB 2005 has released to manufacturing (RTMed in TLA-speak), we’ve updated our installer for the VB LINQ preview. You can find it here. I think the pages at http://msdn.microsoft.com/vbasic/future won’t be updated to point to it until next week because of other changes they’re making to that sub-site after RTM, but for now you can click directly on the link above. Feel free to get the word out! The actual bits are the same as the PDC release — no new functionality — but rest assured we’re also working on an updated release with more features in the near future!

Updated 11/2/05: Fixed hyperlink (had a trailing “.”).

Oh, and, yeah, we shipped…!

Since it’s been a long while since I’ve been really closely involved with VB2005, this seems like a strangely anti-climatic announcement, but: we’ve shipped!

Visual Studio 2005 (Standard, Pro, and Express versions) and SQL Server 20005 are now available for download on MSDN if you’re a subscriber, otherwise you’ll have to wait until after the November 7th launch event.

For a good overview of the new features in Visual Basic 2005 check out Ken Getz’s article.  You can also find a collection of VB 2005 articles at our developer center.

Updated 10/27/05: Corrected MSDN link. Thanks Serge!

PDC videos online

You’ve probably seen this elsewhere, but… The PDC05 videos are now online and available to anyone who wants to watch them for (I believe) the next six months. You can catch my sessions there in case you missed the fun the first time around!

TLN308: Visual Basic: Future Directions in Language Innovation

PNL03: Scripting and Dynamic Languages on the CLR

PNL11: .NET Language Integrated Query End-to-End

Sometimes it’s the little victories that matter the most…

I think Rico’s spot on when he says that the real way you win the performance war is 5% at a time. Actually, I think he’s been overly optimistic — a lot of the time, it seems like you win the performance war 1% at a time. It’s much more like trench warfare than blitzkreig.

There’s also a larger idea at work here. Rico’s point is that in a mature product, you shouldn’t be able to come up with a huge performance win in most cases because, if you can, why didn’t somebody think of it before? The thing is, this applies to pretty much any aspect of a mature product. As we think about the future of Visual Basic, I can assure you that we all sit around dreaming of the revolutionary new feature that will return us to the days of explosive growth that the product experienced early in its life. And, hey, it’s always possible that we’re going to latch on to the next game-changing development methodology that will revolutionize how people write programs and causes an influx of another 30 million or so programmers. It just isn’t likely. After all, a lot of very smart people inside and outside of Microsoft have been looking at this problem for a very long time and so far we haven’t gotten radically beyond many of the fundamental ideas that made VB so hot a decade ago.

It’s also why I really don’t envy the guys working on Office. After all, if you’re a developer in Word, what are you doing? It’s not like there’s some new radical paradigm for text editing out there — we’ve wrung most of the major gains that are to be had out of WYSIWYG. Same goes for Excel — the spreadsheet metaphor has reached a high level of maturity. So what do you do besides dreaming up newer and newer ways to arrange your toolbars and menus? Collect your paycheck and go home?

This is where we get back to trench warfare. Even though, yes, a lot of the “big ideas” have been pretty mined out, it’s not like we’ve reached a state of perfection. Looking at Word and Excel and Visual Basic, there are still lots and lots and lots of little things that can be better. Refactoring isn’t going to revolutionize programming the way that a GUI builder did, but it’s still a nice, incremental improvement over what came before. It’s the 5% gain or the 1% gain instead of the 50% gain, and that’s in many ways just where we are as an industry.

Personally, I would love to be the guy who dreams up the next really big thing in the programming world, the one that’s going to put my name in the history books (or, at least, computer history books). And, who knows? Maybe I’ll win the lottery. It happens. But if that day never does come, I’d still be happy improving the lives of VB developers by 50% or 75% just by making those incremental improvements that makes their lives easier one step at a time. It might not be enough to get us another 30 million developers in one shot, but in the long run, who knows?

Mark your calendars: VB 9.0 chat

Just announced, we’ve got an upcoming chat on the VB 9.0 language enhancements we’ve been talking about:

Visual Basic 9.0 Language Enhancements

Description: Have you been hearing and reading about many of the exciting new features being planned for a future version of VB beyond the new version VB 2005? Would you like to get more details on what is planned for VB 9.0 directly from VB team members? Would you like to provide the VB team with feedback based on what you have seen coming in VB 9.0? Join the Visual Basic language design team to discuss some newly announced VB 9.0 features including Language Integrated Query (LINQ) and XML Literals that are expected significantly enhance the world of VB programming! If you’ve already read the whitepapers, played with the web preview releases at msdn.com/vbasic/future, or watched the channel9.msdn.com video interviews on VB 9.0 – then this is your invitation to talk with Visual Basic team members on whatever’ is puzzling you and delighting you about future VB language features.

You can add it to your calendar here, hope to see you all there!