News Stay informed about the latest enterprise technology news and product updates.

Visual Basic 10 ideology beginning to emerge

Visual Basic 10 remains in a speculative thinking phase, Paul Vick of Microsoft reports in his blog. Vick plans to share the team's thoughts on VB 10 in the next few months. But that doesn't mean there is a shortage of ideas about what VB 10 should do.

In May Microsoft announced that Visual Basic 10, the release of the language that will follow Visual Basic 2008, will be part of the upcoming Dynamic Language Runtime. (The DLR will include JavaScript, IronRuby and IronPython as well as the new Visual Basic; it is a key ingredient in the version of the .NET Framework that will run inside Silverlight 1.1.)

In a recent blog post, An update on VBx, Paul Vick of the Visual Basic group gave programmers an update on where Visual Basic 10 stands.

Back in May, Vick indicated, the Visual Basic group identified a "feature wish list" that included easy application scripting, full support for full support for dynamic method and type generation, and full support for the read-eval-print loop process. He also said the group hoped to have a CTP (Community Technical Preview) version of VB 10 to hand out at PDC07. That turned out to be "a more aggressive timeframe than expected," he noted; plus, for good or ill, PDC07 was cancelled.

At this point, the Visual Basic group remains in the thinking phase of the VB 10 process. Reported Vick:

[O]ver the next few months, my goal is to write some speculative pieces on what we are thinking. The purpose would not be to make feature commitments or say what's definitely in or out of the next version, but instead to get some of our ideas out there and see what people think, see whether there is any traction or not, and determine if we're crazy or not.

The first speculative piece, What's on my mind for VB 10?, appeared Oct. 5. Here Vick provided a few personal thoughts (as opposed to the VB group's thoughts), which included opening up the compiler, decreasing "lexical noise" within VB code, making the language more extensible and, not unexpectedly, addressing whatever issues arise after the Visual Basic 2008.

Comments addressed issues such as non-nullable reference variables, automatic properties, Generics that work with numeric types, language-level support for common libraries, an Eval function similar what JavaScript uses and anonymous methods, among other things.

Upon reading Vick's posts, blogger and MVP Bill @ Head decided to assemble his feature wish list, which has been detailed in eight separate blog entries.

In VB 10 thoughts, Part 1 he expressed a desire for complete Optional paremeters, pointer support, inline comments and multi-statement lambda expressions. In VB 10 thoughts, Part 2 focused on multiple assignments, equality and assignment operators, the need for an implied interface syntax, and multiple meanings for keywords and symbols. On this last issue, he wrote:

"Perhaps the solution to this is a combination of factors. Go for the no break fix by using := where needed, and also have the IDE change the visual appearance of = as assignment compared to equality, e.g. paint one red and the other blue, or even have an option of a glyph that gets rendered there."

VB 10 thoughts, Part 3 includes an interesting discussion about the use of CObj in attributes. VB 10 thoughts, Part 4 clamors for a more universal date standard and for a select case object. VB 10 thoughts, Part 5 yearns for a NameOf operator (similar to the TypeOf operator) and Extension Methods in classes. VB 10 thoughts, Part 6 calls for IOSO or ECMA standardization, range expressions and the ability to change a VB project's root Namespace. VB 10 thoughts, Part 7 points to the potential for backing fields nested inside Properties. Finally, VB 10 thoughts, Part 8 covers declarative style coding, which is now key to WCF, WPF and LINQ, and being able to see the types in ambiguous namespaces.

As always, stay tuned for further Visual Basic 10 developments.

Dig Deeper on Dynamic .NET programming languages

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.