Editor's Note

Shine a (Silver)Light on Me

So you think you've got a handle on Orcas and .NET 3.0/3.5? Brace yourself as Microsoft casts everything in a new (Silver)light.

"Let me get this straight? You want to write a web plug-in VB .NET? that doesn't require the full .NET framework to be installed? and runs on the Mac? and Firefox ? but supports the full VB .NET language? Uh? Okay, let's chat."

—Joe Binder and the VB team, posted on the Web site, The Visual Basic Team, a blog hosted by—you guessed it!—the VB team.

So, you're a Visual Studio developer, and you think you've gotten your head around the crux of the new features that Orcas and Windows Vista/.NET 3.0/.NET 3.5 introduce.

You've come to terms with Language Integrated Query (LINQ); the Windows Presentation Foundation (WPF) and Extensible Application Markup Language (XAML); Windows Workflow Foundation (WF); the Windows Communication Foundation (WCF) and the way it unifies Web services, .NET remoting, distributed transactions, and message queues. You understand that you can use most of these features now in Windows Vista, but Orcas will simplify taking advantage of these features with tools that add higher level abstractions for manipulating these technologies.

Yes, yes, you know all this. But are you also aware that Microsoft is about to shake things up again?

At its MIX07 development conference held in Las Vegas in late April, Microsoft provided some new details about Silverlight, its new Web-based presentation framework intended to run on a variety of platforms (such as Windows and the Mac), in a variety of browsers (including Internet Explorer and Mozilla's Firefox). Silverlight's former name, WPF/E, where the "E" stands for "everywhere," provides telling clues about its purpose. It builds on WPF in the .NET Framework 3.0 to create applications that run, well, in a lot of places, if not exactly everywhere. You can find more information about this technology on Microsoft's developer Web site (http://tinyurl.com/39h5ce).

The quote that opens this article is taken from the VB team's blog (visit the entry at http://tinyurl.com/2rhgzc) on this topic and how it relates to Silverlight. (I recommend checking out the VB team's blog home even if Silverlight doesn't interest you, because it provides nice first-hand information on the direction of VB from the people responsible for implementing its features.) You should also be sure to check out Bill McCarthy's What's Hot department in this issue, which tells you where you can get many of the downloads to give Silverlight 1.1 a try.

Paraphrasing from the VB team's site, Silverlight will support many of VB's features, including late binding; implicit and explicit type conversions; LINQ for Objects; string utilities such as Len (), InStr(), Mid(), UCase(), and so on; as well as the VB Collection and generic collection types. Silverlight will also support all core VB-language constructs, such as type inference, anonymous delegates, and handles.

The Silverlight runtime is significantly smaller than the .NET runtime, so obviously it doesn't incorporate everything that the .NET runtime includes. According the VB team posting, Silverlight won't support the My namespace, XML literals, COM components, or the FileSystem Object.

———— * * * ————

The One and Only VB
At the MIX07 conference, an informational poster contained a reference to both Visual Basic and something called "VBx" that was shown with a "Soon" flag. Paul Vick, technical lead on the Visual Basic language, explained in a blog entry that VBx refers to the next major version of Visual Basic after Orcas (http://tinyurl.com/2lud9h). In a separate entry (http://tinyurl.com/2mctrx), Paul cautioned that planning for the next major version of VB is still in its early stages—Orcas isn't even feature complete at this time—but that didn't stop him from laying out some design goals for the next version, which I recommend checking out. For example, he mentioned that "Visual Basic should become a hostable language that can be used to do application scripting easily, ? [and that] this hostable language engine should be fully portable to all platforms supported by Silverlight..."—a message consistent with the VB teams' post on Silverlight.

It's worth emphasizing that there is but one Visual Basic language; VBx isn't a separate scripting variant. That said, you'll have to accept certain limitations when programming for Silverlight (as described above). I've heard some developers grumble that you'll have to keep different sets of capabilities in mind when programming for WPF versus Silverlight, but in all honesty, that isn't too far afield from where we are now, when developers must keep track of different requirements for programming against portable devices versus the desktop when creating applications that target both.

Patrick Meader
Editor in Chief

Talk Back: Are you excited about what Silverlight represents for the future of Visual Studio development? Write us at [email protected] .

About the Author

Patrick Meader is editor in chief of Visual Studio Magazine.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube