Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. VB.Net design compromise

VB.Net design compromise

Scheduled Pinned Locked Moved The Lounge
csharpasp-netdotnetvisual-studio
11 Posts 7 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Lost User

    READ this, what utter crap, VB should be binned! MS Restores VB6 Functionality to VB.NET Microsoft announced today that it's making changes to Visual Basic.NET to make it more compatible with VB6. Details on the changes, outlined below, will be presented at VBITS in Chicago and New York While VB.NET includes many features developers have long requested, including inheritance, better threading, and structured error handling, the new features come at the price of changes to VB's core syntax. Given the tremendous pressure felt throughout Microsoft to ship .NET Framework and Visual Studio.NET, making fundamental changes at this point is a significant concession to core VB users. These changes will all be implemented in the Visual Studio.NET Beta 2, Ari Bixhorn, Microsoft Visual Basic Product Manager, informed VBITS and VBPJ. Changes include: *The Value of True: In VB6, when True is coerced to a signed integer, the result is -1. For consistency with other .NET languages, VB.NET was going to change the value of True to 1. Instead, it will be left at -1. Note that when a True value is passed from VB.NET to other .NET languages, it will be passed as 1. *Behavior of Boolean Operators: Microsoft intended to change And, Or, Not, and XOr to logical-instead of bitwise-operators, with new operators taking over bitwise duties. These have been restored to their previous functionality, both logical and bitwise, as has operator precedence. In addition, a planned short-circuiting capability has been removed from these operators, and has been reassigned to new operators: AndAlso and OrElse. *Declaring Arrays: For consistency with other languages, Microsoft intended to change the way VB declared arrays, so that you would specify the number of elements in the array: Dim a(10) As Integer would create a ten-element array, with an upper bound of 9. This conflicts with the VB style of declaring arrays, where Dim a(10) As Integer creates an eleven-element array with an upper bound of 10. The traditional declaration technique has been restored. Says Bixhorn, "These changes are really for [developers] maintaining an existing code base and doing new development. They want consistency. They don't want to have to look at a line of code and have to remember whether it's correct for .NET or VB6." According to Bill Vaughn, President of Beta V Corporation and a keynote speaker at this month's VBITS Chicago

    C Offline
    C Offline
    Chris Maunder
    wrote on last edited by
    #2

    April Fools was last Sunday. Please tell me someone simply got their dates mixed up. Is there a source for this story? My first thought was "Oh My God" - but then after thinking about it my thoughts are: a) Who among us (C++ developers) would move to VB.NET instead of C#? C# is as easy to program as VB is (IMO, easier), yet retains a C++ feel. If I've gotta write managed code (or ASP.NET pages) I'll use C#, when I write native apps, I'll use C++/MFC. If VB.NET ever wanders into my world then would have written a DevStudio macro to tack on ';'s to the end of each VB line and remove the call statements. Viola! - C#. b) Many VB developers are simply guys and girls who have been forced to do programming simply to get a job done. They learn as much as they need to, and no more. Asking these people to relearn an entire new paradigm could kill a fairly large market. c) Now those of us getting old and tired and who want to laze about in their arm-chairs coding C# instead of gnarly obfuscated C++ can feel like we are more of a Man, and less of a closet VB programmer. We again have reason to point and laugh at VBer's :) I would hate to be in the VB Product Manager's shoes at the moment :eek: Still - this all assume that what was reported is true. I did a bit of a ferret around but couldn't see anything official-like. cheers, Chris Maunder

    K M 2 Replies Last reply
    0
    • C Chris Maunder

      April Fools was last Sunday. Please tell me someone simply got their dates mixed up. Is there a source for this story? My first thought was "Oh My God" - but then after thinking about it my thoughts are: a) Who among us (C++ developers) would move to VB.NET instead of C#? C# is as easy to program as VB is (IMO, easier), yet retains a C++ feel. If I've gotta write managed code (or ASP.NET pages) I'll use C#, when I write native apps, I'll use C++/MFC. If VB.NET ever wanders into my world then would have written a DevStudio macro to tack on ';'s to the end of each VB line and remove the call statements. Viola! - C#. b) Many VB developers are simply guys and girls who have been forced to do programming simply to get a job done. They learn as much as they need to, and no more. Asking these people to relearn an entire new paradigm could kill a fairly large market. c) Now those of us getting old and tired and who want to laze about in their arm-chairs coding C# instead of gnarly obfuscated C++ can feel like we are more of a Man, and less of a closet VB programmer. We again have reason to point and laugh at VBer's :) I would hate to be in the VB Product Manager's shoes at the moment :eek: Still - this all assume that what was reported is true. I did a bit of a ferret around but couldn't see anything official-like. cheers, Chris Maunder

      K Offline
      K Offline
      Kannan Kalyanaraman
      wrote on last edited by
      #3

      hi chris, the closest i came across is http://www.zdnetindia.com/techzone/news/stories/18594.html and i think its real .... cheers kannan

      L 1 Reply Last reply
      0
      • K Kannan Kalyanaraman

        hi chris, the closest i came across is http://www.zdnetindia.com/techzone/news/stories/18594.html and i think its real .... cheers kannan

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #4

        What a shame, a truely good idea would be to drop VB from .Net altogether, oh well we sit in hope :) So now that means we're gonner see even more lame programs, .Net making VB even easier to develop horrid applications.

        L 1 Reply Last reply
        0
        • L Lost User

          READ this, what utter crap, VB should be binned! MS Restores VB6 Functionality to VB.NET Microsoft announced today that it's making changes to Visual Basic.NET to make it more compatible with VB6. Details on the changes, outlined below, will be presented at VBITS in Chicago and New York While VB.NET includes many features developers have long requested, including inheritance, better threading, and structured error handling, the new features come at the price of changes to VB's core syntax. Given the tremendous pressure felt throughout Microsoft to ship .NET Framework and Visual Studio.NET, making fundamental changes at this point is a significant concession to core VB users. These changes will all be implemented in the Visual Studio.NET Beta 2, Ari Bixhorn, Microsoft Visual Basic Product Manager, informed VBITS and VBPJ. Changes include: *The Value of True: In VB6, when True is coerced to a signed integer, the result is -1. For consistency with other .NET languages, VB.NET was going to change the value of True to 1. Instead, it will be left at -1. Note that when a True value is passed from VB.NET to other .NET languages, it will be passed as 1. *Behavior of Boolean Operators: Microsoft intended to change And, Or, Not, and XOr to logical-instead of bitwise-operators, with new operators taking over bitwise duties. These have been restored to their previous functionality, both logical and bitwise, as has operator precedence. In addition, a planned short-circuiting capability has been removed from these operators, and has been reassigned to new operators: AndAlso and OrElse. *Declaring Arrays: For consistency with other languages, Microsoft intended to change the way VB declared arrays, so that you would specify the number of elements in the array: Dim a(10) As Integer would create a ten-element array, with an upper bound of 9. This conflicts with the VB style of declaring arrays, where Dim a(10) As Integer creates an eleven-element array with an upper bound of 10. The traditional declaration technique has been restored. Says Bixhorn, "These changes are really for [developers] maintaining an existing code base and doing new development. They want consistency. They don't want to have to look at a line of code and have to remember whether it's correct for .NET or VB6." According to Bill Vaughn, President of Beta V Corporation and a keynote speaker at this month's VBITS Chicago

          J Offline
          J Offline
          Jamie Nordmeyer
          wrote on last edited by
          #5

          There are some people who like the new VB (myself included), and there are some people who like the old (VB6) VB. The solution to make everybody happy is simple: either add a compiler option allowing the programmer to compile in VB6 or VB.NET format, or use an inline text statement, such as:

          Option Explicit
          Option VB6

          Frankly, I prefer C++, but program in VB at work, and thus, I do stay involved with the VB world. Jamie Nordmeyer Portland, Oregon, USA

          1 Reply Last reply
          0
          • L Lost User

            READ this, what utter crap, VB should be binned! MS Restores VB6 Functionality to VB.NET Microsoft announced today that it's making changes to Visual Basic.NET to make it more compatible with VB6. Details on the changes, outlined below, will be presented at VBITS in Chicago and New York While VB.NET includes many features developers have long requested, including inheritance, better threading, and structured error handling, the new features come at the price of changes to VB's core syntax. Given the tremendous pressure felt throughout Microsoft to ship .NET Framework and Visual Studio.NET, making fundamental changes at this point is a significant concession to core VB users. These changes will all be implemented in the Visual Studio.NET Beta 2, Ari Bixhorn, Microsoft Visual Basic Product Manager, informed VBITS and VBPJ. Changes include: *The Value of True: In VB6, when True is coerced to a signed integer, the result is -1. For consistency with other .NET languages, VB.NET was going to change the value of True to 1. Instead, it will be left at -1. Note that when a True value is passed from VB.NET to other .NET languages, it will be passed as 1. *Behavior of Boolean Operators: Microsoft intended to change And, Or, Not, and XOr to logical-instead of bitwise-operators, with new operators taking over bitwise duties. These have been restored to their previous functionality, both logical and bitwise, as has operator precedence. In addition, a planned short-circuiting capability has been removed from these operators, and has been reassigned to new operators: AndAlso and OrElse. *Declaring Arrays: For consistency with other languages, Microsoft intended to change the way VB declared arrays, so that you would specify the number of elements in the array: Dim a(10) As Integer would create a ten-element array, with an upper bound of 9. This conflicts with the VB style of declaring arrays, where Dim a(10) As Integer creates an eleven-element array with an upper bound of 10. The traditional declaration technique has been restored. Says Bixhorn, "These changes are really for [developers] maintaining an existing code base and doing new development. They want consistency. They don't want to have to look at a line of code and have to remember whether it's correct for .NET or VB6." According to Bill Vaughn, President of Beta V Corporation and a keynote speaker at this month's VBITS Chicago

            S Offline
            S Offline
            Sandu Turcan
            wrote on last edited by
            #6

            Look at it from another prospective. If .NET is truly language-agnostic then compromises like this are only natural. What do you expect them to say? "Yes it supports multiple languages, only some basic operations behave differently under .net". Why should a framework affect a keyword? What if I want to develop a library that works in both .NET and VB6? Anyway, even though it doesn't affect me (not my kind of language anyway) it looks to me like the decision to preserve the original behavior is totaly legitimate, and as more languages will become .NET-aware it's very likely we'll see them do the same thing.

            1 Reply Last reply
            0
            • L Lost User

              What a shame, a truely good idea would be to drop VB from .Net altogether, oh well we sit in hope :) So now that means we're gonner see even more lame programs, .Net making VB even easier to develop horrid applications.

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #7

              Knuckle. What sort of closeminded attitude is that? I've been a programmer for 15 years, and have happily concentrated in VB for the last 4 (hey I used to be COBOL, Pascal, and others)... I acknowledge that it doesn't do everything C++ can do, but it does a heck of a lot and it does it well. I'm currently lead developer on a 100% VB app that is sold as a retail shrink-wrapped product that is best of breed, and the users can't tell that it wasn't written in a "hardcore" language like C++. I don't bag any other languages out (except Java but that's just for fun), so why do others? I'm glad they're including VB in .Net. The changes are quite drastic in some ways, but I find some of the backtracking a bit odd, or piecemeal. 1. True value - I've always believed that any programmer who has used literals instead of the constants of True or False is just trying to make it hard for themselves and for anyone trying to maintain their code in the future. If they used the constants they wouldn't be in this situation. 2. Arrays - This is a piecemeal solution. One of the attributes of declaring an array was that x(10) would give you x(0) to x(10) - but the other nice one was being able to declare x(10-20). Basic was originally designed to be a language that "thought" the same way people think, not the way computers think. So computers start counting at 0, but people start counting from 1. I have a lot else I could say here, but I think I'll leave it.

              D 1 Reply Last reply
              0
              • C Chris Maunder

                April Fools was last Sunday. Please tell me someone simply got their dates mixed up. Is there a source for this story? My first thought was "Oh My God" - but then after thinking about it my thoughts are: a) Who among us (C++ developers) would move to VB.NET instead of C#? C# is as easy to program as VB is (IMO, easier), yet retains a C++ feel. If I've gotta write managed code (or ASP.NET pages) I'll use C#, when I write native apps, I'll use C++/MFC. If VB.NET ever wanders into my world then would have written a DevStudio macro to tack on ';'s to the end of each VB line and remove the call statements. Viola! - C#. b) Many VB developers are simply guys and girls who have been forced to do programming simply to get a job done. They learn as much as they need to, and no more. Asking these people to relearn an entire new paradigm could kill a fairly large market. c) Now those of us getting old and tired and who want to laze about in their arm-chairs coding C# instead of gnarly obfuscated C++ can feel like we are more of a Man, and less of a closet VB programmer. We again have reason to point and laugh at VBer's :) I would hate to be in the VB Product Manager's shoes at the moment :eek: Still - this all assume that what was reported is true. I did a bit of a ferret around but couldn't see anything official-like. cheers, Chris Maunder

                M Offline
                M Offline
                Masaaki Onishi
                wrote on last edited by
                #8

                Hello, the codegurus around the world. ;) I heard that the previous 100 MS developers came back to MS because of the worst ecnomical situation. Microsoft is willing to hire these 100 developers again. So, I think that the devloping speed of the software in Microsoft is fater than we expect now. As a result, Microsoft can respond the complaint about VB.NET from the current VB developer around the world as fast as possible. :rolleyes: Last, almost of Microsoft VB.NET developers know both C++ and VB, they can't expect that VB developers in the world are scared to these change of VB.NET, I guess. Have a nice day! -Masaaki Onishi-

                L 1 Reply Last reply
                0
                • L Lost User

                  Knuckle. What sort of closeminded attitude is that? I've been a programmer for 15 years, and have happily concentrated in VB for the last 4 (hey I used to be COBOL, Pascal, and others)... I acknowledge that it doesn't do everything C++ can do, but it does a heck of a lot and it does it well. I'm currently lead developer on a 100% VB app that is sold as a retail shrink-wrapped product that is best of breed, and the users can't tell that it wasn't written in a "hardcore" language like C++. I don't bag any other languages out (except Java but that's just for fun), so why do others? I'm glad they're including VB in .Net. The changes are quite drastic in some ways, but I find some of the backtracking a bit odd, or piecemeal. 1. True value - I've always believed that any programmer who has used literals instead of the constants of True or False is just trying to make it hard for themselves and for anyone trying to maintain their code in the future. If they used the constants they wouldn't be in this situation. 2. Arrays - This is a piecemeal solution. One of the attributes of declaring an array was that x(10) would give you x(0) to x(10) - but the other nice one was being able to declare x(10-20). Basic was originally designed to be a language that "thought" the same way people think, not the way computers think. So computers start counting at 0, but people start counting from 1. I have a lot else I could say here, but I think I'll leave it.

                  D Offline
                  D Offline
                  Datacrime
                  wrote on last edited by
                  #9

                  >>Basic was originally designed to be a language that "thought" the same way people think, not the way computers think. So computers start counting at 0, but people start counting from 1. Well, Only Christians and VB programmers starts counting from 1 ;P You have a point here, if you want the last item of an array you have to use myarray[sizeof(myarray)-1]. That "minus 1" looks strange. I had a problem myself when staring C with that. But now i learn to work with this and sometimes i found it very smart. It makes a lot of algorithms look better, and saves me from a lot of "plus 1" :) for ex. when you want to iterate an array instead of writing: for(int i=1;i<=sizeof(myarray);i++){myarray[i]=0}; you write the following: for(int i=0;i

                  L 1 Reply Last reply
                  0
                  • M Masaaki Onishi

                    Hello, the codegurus around the world. ;) I heard that the previous 100 MS developers came back to MS because of the worst ecnomical situation. Microsoft is willing to hire these 100 developers again. So, I think that the devloping speed of the software in Microsoft is fater than we expect now. As a result, Microsoft can respond the complaint about VB.NET from the current VB developer around the world as fast as possible. :rolleyes: Last, almost of Microsoft VB.NET developers know both C++ and VB, they can't expect that VB developers in the world are scared to these change of VB.NET, I guess. Have a nice day! -Masaaki Onishi-

                    L Offline
                    L Offline
                    Lost User
                    wrote on last edited by
                    #10

                    Huh, what's that? You say "almost of Microsoft VB.NET developers know both C++ and VB, ..." I assume you mean "almost all of Microsoft..." And I need to ask how the hell can you even remotely back that up? Are you saying only those VB programmers who know C++ would think of upgrading to VB.NET? That would shut out a vast number of VB developers from using VB.NET. I only know C++ enough to read it but not enough to code it confidently. I know VB like the back of my hand. What am I doing at the moment? I have Visual Studio.NET Beta and am furiously coming to terms with the changes in VB.NET whilst at the same time looking at C#. I don't agree that MS should have backed out some of these changes, but I realise why they're doing it.

                    1 Reply Last reply
                    0
                    • D Datacrime

                      >>Basic was originally designed to be a language that "thought" the same way people think, not the way computers think. So computers start counting at 0, but people start counting from 1. Well, Only Christians and VB programmers starts counting from 1 ;P You have a point here, if you want the last item of an array you have to use myarray[sizeof(myarray)-1]. That "minus 1" looks strange. I had a problem myself when staring C with that. But now i learn to work with this and sometimes i found it very smart. It makes a lot of algorithms look better, and saves me from a lot of "plus 1" :) for ex. when you want to iterate an array instead of writing: for(int i=1;i<=sizeof(myarray);i++){myarray[i]=0}; you write the following: for(int i=0;i

                      L Offline
                      L Offline
                      Lost User
                      wrote on last edited by
                      #11

                      So, I'm both... shoot me :) I think the way VB does arrays is the better way. It's just one of the things that Basic was supposed to do for the programmer - make it easier to understand. So, if I want an array of 10 ints, I can then just use X(10). OK, eleven elements are defined, and I don't use the 0th element, but I know my ten elements are from 1 to 10... sounds logical to me. Can I ask why using 0-based arrays saves you from a lot of "plus 1" stuff? I honestly want to know.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups