Visual Basic for Windows Phone!

"Surprise!" Rick Claus reels back in amazement from the flame-burst of a teppanyaki onion volcano

It Makes Sense…

It makes sense, after all:

  • You can develop Silverlight applications in Visual Basic.
  • You can developer Windows Phone 7 apps in Silverlight.
  • Why can’t you develop Windows Phone 7 Silverlight apps in Visual Basic?

That’s the question a number of developers have been asking, as Brandon Watson’s earlier tweet hinted:

Brandon Watson's tweet: "Anyone care to guess what the biggest request from the #wp7dev community has been for the #wp7 dev tools and platform?

Here’s What You Get

And we’re now one step closer to that becoming real. Today on the Windows Phone Developer Blog, Brandon announced the availability of Visual Basic CTP (that’s “Community Technology Preview”) for Windows Phone Developer Tools.

With it, you get:

  • Visual Basic application templates for Windows Phone 7 Silverlight apps
  • UI designer support for Visual Basic
  • Emulator and phone support for Visual Basic
  • and of course, Intellisense support for Visual Basic

In short, everything the Visual Basic developer needs to start writing Silverlight apps for WP7.

And Now, the Fine Print

"Warning" icon

Remember, unlike the C# tools, which have been Released to Manufacturing, Visual Basic for Windows Phone is CTP, and remember that the “P” stands for “Preview” and that CTP comes before Beta.

Be advised that:

  • As a Community Technology Preview, this is an early access program to a work in progress. It’s meant for you to try out and give us feedback about it. It is not a final implementation, and as such, you should expect to use it to write apps that are ready for Marketplace.
  • There’s no go-live license for this CTP. That means you can’t use this particular version to build apps for commercial release. It’s not ready for prime time yet!
  • You need Visual Studio 2010 Pro, Premium or Ultimate. Sorry, but Visual Studio Express for Windows Phone isn’t going to work with this version. If you’re really itching to try writing VB apps for WP7, Brandon suggests downloading a trial version of Visual Studio Pro.
  • Visual Basic for Windows Phone is for writing Silverlight apps only. If you want to write XNA-based games and apps, you have to do it in C#.

Why Visual Basic?

Cover of Rodney Dangerfield's "No Respect" albumVisual Basic takes a lot of heat from developers, both within and outside the Microsoft developer community. Perhaps it’s because it’s derived from BASIC, back when the name was an acronym and the “B” stood for Beginner’s. It could also be that there is a history of some really atrocious code being written in VB. I think it’s because it brought the power of programming to everyone, which annoys people who are deeply invested in keeping programming a sort of “high priesthood”, a club where not everyone can be a member.

That’s snobbery, and it’s also a shame. One of the purposes of languages like Visual Basic is that it opened the world of programming to “domain experts” – people who know the ins and outs of the fields or businesses for which applications are written. People who’ll actually have to use those applications. Languages like Visual Basic empower these people who have the domain knowledge take their ideas and turn them into apps without having to always “outsource” it to one of us. They capture the best parts of the “DIY” spirit, and we should be encouraging the people who use them, not denigrating them for using a “toy”.

I think of this as the antithesis of programming for the Esteemed Competition’s mobile platforms, whether you’ve opted for the wide open but fragmented one, or the more closed one where you have to chase pointers, write method declarations twice and are a barely-tolerated “fourth party developer”. Phone development with Visual Basic makes it easy for anyone with an idea and the will to work – but not the programming background – to dive in and start seeing results quickly.

I think that’s a good thing.

Download Visual Basic CTP for Windows Phone

This article also appears in Canadian Developer Connection.