-
The official word
The following message was posted on Microsoft.Public.DotNet.Languages.VB by
Ari Bixhorn:
*********Message Begins********
I wanted to clear some of the confusion surrounding recent posts and
articles that discuss changes back to the VB.NET language. We've spent the
past month or so reviewing the changes we made to Visual Basic.NET to ensure
that we are shipping a version of VB that would provide power and
cross-language interop as well as familiarity with VB6. We reviewed change
requests from Visual Basic programmers around the world and while we
reaffirmed many of the changes that we decided upon more than a year and a
half ago, there were several changes - reverting to VB6 semantics - that we
felt would really help ease the transition from VB6. The goal of these
changes is to minimize *semantic* inconsistencies between VB6 and Visual
Basic.NET. This is particularly crucial in going from VB6 to VB.NET, since
many developers will be working with both VB6 and VB.NET code bases. The
ability for these developers to look at a single line of VB code and not
think about whether that line represents VB6 vs. VB.NET semantics is a key
element to making the knowledge upgrade to VB.NET.
The changes to the language include:
1. The value of True: When Visual Basic developers coerce "True" into a
numeric value, the value they receive will be -1 (as VB has always done) ,
not 1. This applies to both explicit conversions, using CInt(), CDec(),
etc., as well as implicit conversions:
Dim b As Boolean = True
Dim i As Integer = b ' i = -1
It is important to note, that when a Boolean in VB is passed to the .NET
Framework or to another .NET language, it will be treated as 1 to maintain
interoperability between languages. This change offers the best of both
worlds - VB developers get expected behavior when working within VB and
developers working with multiple .NET languages get seamless behavior across
languages.
2. Behavior of And/Or/Not/XOr - The functionality of these operators will
be returned to bitwise operations instead of purely logical (meaning they
will work as they always have in VB). As a result, there is no need to keep
the BitAnd, BitOr, and BitNot operators that were planned for VB.NET. In
addition, the operator precedence will be restored to these operators as it
was in Visual Basic 6. Finally, these operators will not short-circuit.
Instead, to enable developers to show explicit intent in their code, we will
introduce two new operators, "AndAlso" and "OrElse" that will provide
short-circuiting behavior. This request was consistent with our initial
usability findings on short-circuiting "And" and "Or," which resulted in
bugs that were hard for VB devs to track down. Again, these changes provide
consistency with VB6 without sacrificing functionality in VB.NET.
3. The declaration of Arrays - When arrays are declared in Visual
Basic.NET, they will be declared by specifying the upper bound (as has
always been the case in VB), not the size.
Dim a(5) As Integer ' produces a 6 element array, 0 through 5
Do any of these changes break language interoperability with other .NET
languages or the Framework? No.
Will these changes delay the ship of Visual Studio.NET? No. The changes
are currently being implemented and will be part of Beta 2 (due out this
summer). From the start, we had planned for feedback during the beta
program and had expected to make changes like these prior to releasing the
product. If anything, these changes are a testament to the success of the
beta program - We've spoken to literally thousands of VB programmers around
the world who are engaged in the beta program and who want these changes
made.
Are these *major* changes to the language? No. Will they keep VB.NET
developers from taking advantage of the .NET Framework, Web Services,
ASP.NET, cross-language inheritance and debugging, etc, etc, etc? No, but
they do provide benefits to the existing VB developer base who are either
upgrading existing code to VB.NET, or who will be maintaining both VB6 and
VB.NET code bases.
Finally, I think it's important to call out the difference between wanting
cross-language interoperability and cross-language consistency. Interop is
what we're really looking for with .NET - the ability to pass information
between languages without confusion, and with these changes, we'll still
have seamless language interop. At the same time, these changes will make
the knowledge upgrade easier for VB developers. Language consistency, on
the other hand, implies that there is a *right* way and a *wrong* way to
declare arrays, coerce the value of True, etc. Neither C++ nor VB are
"wrong." They are simply different.
- Bix
Ari Bixhorn
Product Manager, Visual Basic
**************Message Ends***************
-
Re: The official word
It's a good thing Microsoft didn't announce this five days ago or else everyone
would have written it off as a bad April Fool's Day joke.
-Jeff
"Jacob Grass" <JGrass@abilitisolutions.com> wrote:
>The following message was posted on Microsoft.Public.DotNet.Languages.VB
by
>Ari Bixhorn:
>
>*********Message Begins********
>
>I wanted to clear some of the confusion surrounding recent posts and
>articles that discuss changes back to the VB.NET language. We've spent
the
>past month or so reviewing the changes we made to Visual Basic.NET to ensure
>that we are shipping a version of VB that would provide power and
>cross-language interop as well as familiarity with VB6. We reviewed change
>requests from Visual Basic programmers around the world and while we
>reaffirmed many of the changes that we decided upon more than a year and
a
>half ago, there were several changes - reverting to VB6 semantics - that
we
>felt would really help ease the transition from VB6. The goal of these
>changes is to minimize *semantic* inconsistencies between VB6 and Visual
>Basic.NET. This is particularly crucial in going from VB6 to VB.NET, since
>many developers will be working with both VB6 and VB.NET code bases. The
>ability for these developers to look at a single line of VB code and not
>think about whether that line represents VB6 vs. VB.NET semantics is a key
>element to making the knowledge upgrade to VB.NET.
>
>
>The changes to the language include:
>
>1. The value of True: When Visual Basic developers coerce "True" into
a
>numeric value, the value they receive will be -1 (as VB has always done)
,
>not 1. This applies to both explicit conversions, using CInt(), CDec(),
>etc., as well as implicit conversions:
>
> Dim b As Boolean = True
> Dim i As Integer = b ' i = -1
>
>It is important to note, that when a Boolean in VB is passed to the .NET
>Framework or to another .NET language, it will be treated as 1 to maintain
>interoperability between languages. This change offers the best of both
>worlds - VB developers get expected behavior when working within VB and
>developers working with multiple .NET languages get seamless behavior across
>languages.
>
>
>2. Behavior of And/Or/Not/XOr - The functionality of these operators will
>be returned to bitwise operations instead of purely logical (meaning they
>will work as they always have in VB). As a result, there is no need to
keep
>the BitAnd, BitOr, and BitNot operators that were planned for VB.NET. In
>addition, the operator precedence will be restored to these operators as
it
>was in Visual Basic 6. Finally, these operators will not short-circuit.
>Instead, to enable developers to show explicit intent in their code, we
will
>introduce two new operators, "AndAlso" and "OrElse" that will provide
>short-circuiting behavior. This request was consistent with our initial
>usability findings on short-circuiting "And" and "Or," which resulted in
>bugs that were hard for VB devs to track down. Again, these changes provide
>consistency with VB6 without sacrificing functionality in VB.NET.
>
>
>3. The declaration of Arrays - When arrays are declared in Visual
>Basic.NET, they will be declared by specifying the upper bound (as has
>always been the case in VB), not the size.
>
> Dim a(5) As Integer ' produces a 6 element array, 0 through 5
>
>
>Do any of these changes break language interoperability with other .NET
>languages or the Framework? No.
>
>Will these changes delay the ship of Visual Studio.NET? No. The changes
>are currently being implemented and will be part of Beta 2 (due out this
>summer). From the start, we had planned for feedback during the beta
>program and had expected to make changes like these prior to releasing the
>product. If anything, these changes are a testament to the success of the
>beta program - We've spoken to literally thousands of VB programmers around
>the world who are engaged in the beta program and who want these changes
>made.
>
>Are these *major* changes to the language? No. Will they keep VB.NET
>developers from taking advantage of the .NET Framework, Web Services,
>ASP.NET, cross-language inheritance and debugging, etc, etc, etc? No, but
>they do provide benefits to the existing VB developer base who are either
>upgrading existing code to VB.NET, or who will be maintaining both VB6 and
>VB.NET code bases.
>
>Finally, I think it's important to call out the difference between wanting
>cross-language interoperability and cross-language consistency. Interop
is
>what we're really looking for with .NET - the ability to pass information
>between languages without confusion, and with these changes, we'll still
>have seamless language interop. At the same time, these changes will make
>the knowledge upgrade easier for VB developers. Language consistency, on
>the other hand, implies that there is a *right* way and a *wrong* way to
>declare arrays, coerce the value of True, etc. Neither C++ nor VB are
>"wrong." They are simply different.
>
>- Bix
>
>Ari Bixhorn
>Product Manager, Visual Basic
>
>**************Message Ends***************
>
>
>
-
Re: The official word
> It is important to note, that when a Boolean in VB is passed to the .NET
> Framework or to another .NET language, it will be treated as 1 to maintain
> interoperability between languages.
Horrendous!
> "AndAlso" and "OrElse" that will provide
Hilarious!
R-o
-
Re: The official word
> It's a good thing Microsoft didn't announce this five days
> ago or else everyone would have written it off as a bad
> April Fool's Day joke.
Jeff: Was it really necessary to quote Ari's entire message just to add the
above remark? (THINK, people! :-)
---
Phil Weber
DevX Newsgroup Admin
-
Re: The official word
I wish they had said that in the first place. Oh well, time to move on.
--
Jonathan Allen
"Jacob Grass" <JGrass@abilitisolutions.com> wrote in message
news:3acded35@news.devx.com...
> The following message was posted on Microsoft.Public.DotNet.Languages.VB
by
> Ari Bixhorn:
>
> *********Message Begins********
>
> I wanted to clear some of the confusion surrounding recent posts and
> articles that discuss changes back to the VB.NET language.
-
-
Re: The official word
Actually that's not the whole interview ... here's the rest:
Will these changes hasten the demise of the Basic syntax as a language?
Well that is the plan. These changes will reinforce the perception of VB
as a "toy" language. With C# now having many of the same RAD characteristics,
we believe that this will slowly eat away at the BASIC developer base until
we can finally rid ourselves of supporting this dialect at all.
Did you expect the VB community to be so helpful in this regard?
We were hoping that the entrenched conservative base of VB developers would
raise a big stink. Then we could cripple the language with their blessing,
and free ourselves of any blame 5 years from now. We could just say "Don't
blame us! We were just giving you what you asked for!".
What drugs is the VB development community on?
I don't know, but they must be good ones!
Tom Barnaby
www.intertech-inc.com
-
Re: The official word
ROFL
OK, maybe that was a bit extreme, but it's funny hearing a .NETster being
that sarcastic. It's usually the .NOTsters 
-Rob
"Tom Barnaby" <tbarnaby@intertech-inc.com> wrote:
>
>Actually that's not the whole interview ... here's the rest:
>
-
Re: The official word
You missed the most important word in the post ...
"The changes to the language _include_: ..."
--
Randy Birch
MVP Visual Basic
Take the vb.net poll at:
http://www.mvps.org/vbnet/
http://www.mvps.org/ccrp/
Please respond only to the newsgroups so all can benefit.
"Jonathan Allen" <greywolf@cts.com> wrote in message
news:3ace09e0@news.devx.com...
: I wish they had said that in the first place. Oh well, time to move on.
:
: --
: Jonathan Allen
:
:
: "Jacob Grass" <JGrass@abilitisolutions.com> wrote in message
: news:3acded35@news.devx.com...
: > The following message was posted on Microsoft.Public.DotNet.Languages.VB
: by
: > Ari Bixhorn:
: >
: > *********Message Begins********
: >
: > I wanted to clear some of the confusion surrounding recent posts and
: > articles that discuss changes back to the VB.NET language.
:
:
:
:
-
Re: The official word
well it also would have probably been better if some people had of just
waited instead of trying to start histeria and making false accusations to
hey jonathan ??
"Jonathan Allen" <greywolf@cts.com> wrote in message
news:3ace09e0@news.devx.com...
> I wish they had said that in the first place. Oh well, time to move on.
>
-
Re: The official word
What can I say, I was bored. I felt like seeing what kind of effect a few
choice rants could have, and boy did it work. It always amazes me how
gullible people are.
On a side note, none of these changes really affects me in the slightest. In
fact, I was partially responsible for the special keywords for short
circuiting. I called them SAnd and SOr in the MVP conference, but I the
concept was the same.
--
Jonathan Allen
"Bill McCarthy" <bill_mcc@iprimus.com.au> wrote in message
news:3ace965b@news.devx.com...
>
> well it also would have probably been better if some people had of just
> waited instead of trying to start histeria and making false accusations to
> hey jonathan ??
>
>
> "Jonathan Allen" <greywolf@cts.com> wrote in message
> news:3ace09e0@news.devx.com...
> > I wish they had said that in the first place. Oh well, time to move on.
> >
>
>
>
-
Re: The official word
Hi JA,
"Jonathan Allen" <greywolf@cts.com> wrote in message
news:3acf5439@news.devx.com...
> What can I say, I was bored. I felt like seeing what kind of effect a few
> choice rants could have, and boy did it work. It always amazes me how
> gullible people are.
>
I see, so you are saying your intent was clearly mailicous.
It really amazes me the disrespect you display to fellow developers.
> On a side note, none of these changes really affects me in the slightest.
In
> fact, I was partially responsible for the special keywords for short
> circuiting. I called them SAnd and SOr in the MVP conference, but I the
> concept was the same.
>
don't flatter yourself Jonatahn. As tempting as itwould be to blame you for
these changes, theonly thing we can be sure to blame you for, is , as by
your own admission, your malicious attempts to cause confussion and
unsettling the VB community as well as your inability to apologise.
-
Re: The official word
Bill,
> don't flatter yourself Jonatahn. As tempting as itwould be to blame you
for
> these changes, theonly thing we can be sure to blame you for, is , as by
> your own admission, your malicious attempts to cause confussion and
> unsettling the VB community as well as your inability to apologise.
I don't even believe that "I was bored" nonsense (who knows what to believe
with this guy, he's just playing games right!?!). His arguments have been
consistently against all 3 of the proposed changes in Beta 2, and now he's
trying to take credit for them! FunnyGuy.NOT.
--
David.
-
Re: The official word
> His arguments have been
> consistently against all 3 of the proposed changes in Beta 2
Either I was drunk when brought up new keywords at the conference, or I was
drunk when I said they were a bad idea. Or maybe I just changed my mind, it
was over a month ago.
As for my current position (subject to change for no reason), here it is...
AndAlso/EitherOr. Though I wish they had better names, but I can live with
them.
BitAnd, BitOr: I still think these were a good idea, as I am against mixing
Booleans and Integers.
True=-1: I don't like it because it encourages mixing Boolean's and
Integers. I had other reasons, but other changes made them moot. Thus it is
mainly a religious object and thus I will no longer be arguing it.
myArray(X): If they are going to say X is the upper bound, then they should
allow us to specify a lower bound, even if it is just 0. Otherwise it just
doesn't read well.
--
Jonathan Allen
"David Bayley" <davidb@aebacus.another.spam.filter.com> wrote in message
news:3acfd9af$1@news.devx.com...
> Bill,
>
> > don't flatter yourself Jonatahn. As tempting as itwould be to blame you
> for
> > these changes, theonly thing we can be sure to blame you for, is , as by
> > your own admission, your malicious attempts to cause confussion and
> > unsettling the VB community as well as your inability to apologise.
>
> I don't even believe that "I was bored" nonsense (who knows what to
believe
> with this guy, he's just playing games right!?!). His arguments have been
> consistently against all 3 of the proposed changes in Beta 2, and now he's
> trying to take credit for them! FunnyGuy.NOT.
>
> --
> David.
>
>
>
>
-
Re: The official word
"Jonathan Allen" <greywolf@cts.com> wrote in message
news:3ad097eb@news.devx.com...
> > His arguments have been
> > consistently against all 3 of the proposed changes in Beta 2
>
> Either I was drunk when brought up new keywords at the conference, or I
was
> drunk when I said they were a bad idea. Or maybe I just changed my mind,
it
> was over a month ago.
Or it could just be that you're always a jackass.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
Forum Rules
|
Top DevX Stories
Easy Web Services with SQL Server 2005 HTTP Endpoints
JavaOne 2005: Java Platform Roadmap Focuses on Ease of Development, Sun Focuses on the "Free" in F.O.S.S.
Wed Yourself to UML with the Power of Associations
Microsoft to Add AJAX Capabilities to ASP.NET
IBM's Cloudscape Versus MySQL
|
Bookmarks