SKITSANOS FOR RIA

Skitsanos

Wednesday, April 15, 2009

No More Underscores in VB 10

Source: InfoQ

Visual Basic 10 will have an improved compiler that makes underscores optional for most line continuations. This represents a significant change for VB, traditionally a line-terminated language. The Visual Basic team has an in-depth explanation of Implicit Line Continuation.

VB 1-6 and VB.NET (7-9) used the carriage return as a statement termination token, similar to the explicit semicolon ";" in C#. By moving to an implicit termination token, Visual Basic language readability will be greatly improved, especially when writing multi-line LINQ queries.

Dim dates = from d in listOfDates _
where d.Year > 2009 _
select d _
distinct _
order by d
Could become:
Dim dates = from d in listOfDates
where d.Year > 2009
select d
distinct
order by d
The VB team explanation mentioned above covers specific cases where implicit line continuation is not supported:
We don’t capture every scenario. Given our cost and time constraints around the feature, we tried to capture the most common cases that would provide the most bang for the buck. We also avoided the ones that just led to problems. Here are some examples of problems you could have if we had decided to allow implicit continuation anywhere. I take these from some analysis that Lucian Wischik (also on the VB compiler team) did on our grammar:
With y
A=x
.xfield
End With
If we allowed implicit continuation before the ‘.’ we would have problems knowing what the period belongs to. For example, it could be interpreted as:

With y
A=x.xield
End With
Or
With y
A=x
.xfield
End With
Channel 9 also has an excellent interview with Tyler Whitney, a developer on the Visual Basic compiler team.

No comments:

Webware development dedicated blog by Skitsanos R&D Labs. ASP.NET, XML, RIA, Adobe Flex, ActionScript 3, AIR, AJAX, Web 2.0, Backbase, CGI development with RealBasic and other web development issues.
News
Downloads