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. Why did Microsoft even bother making VB.Net...

Why did Microsoft even bother making VB.Net...

Scheduled Pinned Locked Moved The Lounge
csharp
48 Posts 28 Posters 6 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.
  • A Allah On Acid

    I do programming in my free time, and used to do VB.NET, then switched to C#. They both do the same things, but C# totally puts vb to shame. VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code. It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing. And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable. Makes me wonder why Microsoft even made VB.net in the first place, C# is so much better.

    J Offline
    J Offline
    Jim Crafton
    wrote on last edited by
    #11

    If you check out Tom Archers blog, there's comment about about why there examples are typically in VB as opposed to C# or C++. One of the reasons claimed is the huge number of VB developers out there as compared to C++ or C# devs, so it simply makes more sense to default to the most common denominator, in this case VB. Tons and tons of code has been written in VB, man programs by people who do not have the formal programming background that a lot of people here have, and with no real inclination to learn new languages just for the sake of learning new languages. And apparently, many of these people find BASIC easy to pick up and hack stuff together with. So, given a HUGE existing user base, VB.Net does make sense. Like Nish says, of all the languages, C# is probably the most arbitrary, as there was little real market demand for it. One could argue that C# exists because: - MS was (is?) pissed at Sun for dismissing some of MS's proposed additions to Java, specifically a delegate like keyword that essentially fucntioned like C#'s delegate keyword. In their defense, I think MS's delegate solution is *infinitely* preferable to the goofy anonymous class crap you have to write to wrap function callbacks in java. Sun was stupid not to acknowledge this. - Anders Hejlsberg was hired away from Borland (where he was responsible for ObjectPascal compiler and Delphi), to do languages at MS. I suspect a lot of the language and framework development he did for J++ and the Java WFC got migrated over into C#, since J++ didn't really go over very well. If you look at WFC you can see the pre-cursor to some (alot?) of the .Net framework. So C# was invented, and voila, the rest is history. But like Nish mentions, this could have just as easily been pushed over into C++. ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF!

    1 Reply Last reply
    0
    • A Allah On Acid

      I do programming in my free time, and used to do VB.NET, then switched to C#. They both do the same things, but C# totally puts vb to shame. VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code. It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing. And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable. Makes me wonder why Microsoft even made VB.net in the first place, C# is so much better.

      J Offline
      J Offline
      Jeremy Falcon
      wrote on last edited by
      #12

      Well, I'm glad they did. Otherwise the VB shops would still be using classic VB (because most VBers don't want to actually learn, it's hard to get them to :-D), and VB.NET is by far better than classic VB. So at least if I'm ever employed at a VB shop it'll be .NET. Jeremy Falcon

      1 Reply Last reply
      0
      • D Dave Kreskowiak

        Hmmm... I don't have a problem with it, or C#, or C++, or Java, or ... The underlying constructs are all the same to me. I get paid the same no matter what language(s) I use. "Clean" code is a matter of opinion. Tell me that, when doing Office automation, putting all the Missing values into the optional parameters, that a lot of the methods take, makes for cleaner code in C#! I'll take VB.NET over C# to do avoid that. The opposite is also true. C# supports unsafe code and pointers, where VB.NET does not. Big deal! If I need something like that, I'll write a C# class library to support my VB code. I get paid no the same, no matter what... RageInTheMachine9532 "...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome

        C Offline
        C Offline
        code frog 0
        wrote on last edited by
        #13

        I gave you a 5 for that response because you are right. I'd way rather be thought of as a software engineer (language independent) than a C# developer. One has no limits the other is confined to one language alone. You make good points though. If you are putting food on your table, paying your bills and happy what else matters? Certainly not language I suppose.:)

        I only read CP for the articles. Code-frog System Architects, Inc.

        1 Reply Last reply
        0
        • A Allah On Acid

          I do programming in my free time, and used to do VB.NET, then switched to C#. They both do the same things, but C# totally puts vb to shame. VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code. It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing. And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable. Makes me wonder why Microsoft even made VB.net in the first place, C# is so much better.

          M Offline
          M Offline
          Mafurio
          wrote on last edited by
          #14

          To make claims and to leave them unfounded is one of my pet peeves. For starters, I would not say that VB is not inherently sloppy, verbose perhaps, but not sloppy. Secondly, the automatic conversions of data types is merely a preference. The option is in the project properties and is known as "Option Strict", read the MSDN entry on how to use it inline. Also, in VB, readability is another matter, I can read VB fairly easily while I suppose some others cannot. In my experience, C# can be difficult to read if I abuse such things as increment operator and if I perform assignments within conditionals (bad example, but live with it: if ((i = 1) == 1) ). I can understand the occasional desire to use the assignment within a conditional, but personally, I prefer such things to take place outside the conditional. I am not against the use of either language, and in fact I use both of them myself. I just would not say either is inherently better than the either. -- modified at 1:34 Sunday 5th February, 2006

          1 Reply Last reply
          0
          • A Allah On Acid

            I do programming in my free time, and used to do VB.NET, then switched to C#. They both do the same things, but C# totally puts vb to shame. VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code. It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing. And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable. Makes me wonder why Microsoft even made VB.net in the first place, C# is so much better.

            A Offline
            A Offline
            Allah On Acid
            wrote on last edited by
            #15

            Interesting responses. I guess VB.Net does have some good points. It just seems from my prespective that c# is so much better, but you all know alot more about that than I do.

            R 1 Reply Last reply
            0
            • A Allah On Acid

              Interesting responses. I guess VB.Net does have some good points. It just seems from my prespective that c# is so much better, but you all know alot more about that than I do.

              R Offline
              R Offline
              Robert Rohde
              wrote on last edited by
              #16

              Better if always depending on the point of view. From a certain point of view every language is better than any other language...

              1 Reply Last reply
              0
              • A Allah On Acid

                I do programming in my free time, and used to do VB.NET, then switched to C#. They both do the same things, but C# totally puts vb to shame. VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code. It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing. And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable. Makes me wonder why Microsoft even made VB.net in the first place, C# is so much better.

                A Offline
                A Offline
                Alvaro Mendez
                wrote on last edited by
                #17

                Pumk1nh3ad wrote:

                VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code. It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing. And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable.

                I've never been much of a fan of the VB syntax, especially after using curly braces for years. However, I have to say that using it in VS.NET 2003 wasn't bad. The verbosity is not an issue since the IDE writes much of it for you, and formats it with the proper casing and spacing between variables and operators. Something that for years I had wanted in the C/C++ IDEs has been available for VB for a while. So it's easy to adapt to it. I also find that the extra verbosity actually makes the code more readable:

                if (a < 1 && !foo())
                {
                ...
                }

                vs.

                If a < 1 And Not foo() Then
                ...
                End If

                VB code reads more like regular English. Regards, Alvaro


                K 1 Reply Last reply
                0
                • A Allah On Acid

                  I do programming in my free time, and used to do VB.NET, then switched to C#. They both do the same things, but C# totally puts vb to shame. VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code. It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing. And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable. Makes me wonder why Microsoft even made VB.net in the first place, C# is so much better.

                  M Offline
                  M Offline
                  Michael P Butler
                  wrote on last edited by
                  #18

                  Pumk1nh3ad wrote:

                  Makes me wonder why Microsoft even made VB.net in the first place, C# is so much better.

                  Because managers sometimes still write code :-D Michael CP Blog [^] Development Blog [^]

                  1 Reply Last reply
                  0
                  • R Robert Rohde

                    Because they wanted "old" VB developers to switch to .NET?

                    M Offline
                    M Offline
                    mmikey7
                    wrote on last edited by
                    #19

                    Robert Rohde wrote:

                    Because they wanted "old" VB developers to switch to .NET?

                    Exactly! Interesting part is that VB.NET is not VB at all. Although they have similiar syntax they are quite different languages. "Government is not the solution to our problem. Government is the problem." -Ronald Reagan

                    1 Reply Last reply
                    0
                    • A Allah On Acid

                      I do programming in my free time, and used to do VB.NET, then switched to C#. They both do the same things, but C# totally puts vb to shame. VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code. It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing. And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable. Makes me wonder why Microsoft even made VB.net in the first place, C# is so much better.

                      M Offline
                      M Offline
                      mmikey7
                      wrote on last edited by
                      #20

                      Pumk1nh3ad wrote:

                      C# is so much better.

                      I wouldn't say it in this way. There are actually two things which are different among VB.NET, C# and C++/CLI. First thing is syntax, this is obvious and what syntax(language) to use is matter of style. Second thing is compiler and this is not so obvious. But I will not write here more about quality of compilers because it could lead to... you know... flame "Government is not the solution to our problem. Government is the problem." -Ronald Reagan

                      1 Reply Last reply
                      0
                      • A Allah On Acid

                        I do programming in my free time, and used to do VB.NET, then switched to C#. They both do the same things, but C# totally puts vb to shame. VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code. It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing. And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable. Makes me wonder why Microsoft even made VB.net in the first place, C# is so much better.

                        K Offline
                        K Offline
                        Kevin McFarlane
                        wrote on last edited by
                        #21

                        Oh no. Yet another language war! I'm just about to start a contract using VB .NET after only having done C# so far. But I've used classic VB a lot in the past too. To be honest, although I have my language preferences, I can live with most of them. One exception is Perl. However, in general, I disagree with the "why do we need more than one language?" school. Kevin

                        1 Reply Last reply
                        0
                        • D Dave Kreskowiak

                          Hmmm... I don't have a problem with it, or C#, or C++, or Java, or ... The underlying constructs are all the same to me. I get paid the same no matter what language(s) I use. "Clean" code is a matter of opinion. Tell me that, when doing Office automation, putting all the Missing values into the optional parameters, that a lot of the methods take, makes for cleaner code in C#! I'll take VB.NET over C# to do avoid that. The opposite is also true. C# supports unsafe code and pointers, where VB.NET does not. Big deal! If I need something like that, I'll write a C# class library to support my VB code. I get paid no the same, no matter what... RageInTheMachine9532 "...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome

                          K Offline
                          K Offline
                          Kevin McFarlane
                          wrote on last edited by
                          #22

                          I agree completely. Be prepared to use whatever is appropriate for the job. When other things are equal, use what you prefer. That's the professional attitude. I've mainly only used C# so far in .NET. But I'm about to start a VB .NET contract. I don't mind. Only problem might be silly recruiters who insist that you must have recent experience of X, Y, Z. So will C# jbs be closed to me when I finish this contract? Kevin

                          D 1 Reply Last reply
                          0
                          • A Alvaro Mendez

                            Pumk1nh3ad wrote:

                            VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code. It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing. And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable.

                            I've never been much of a fan of the VB syntax, especially after using curly braces for years. However, I have to say that using it in VS.NET 2003 wasn't bad. The verbosity is not an issue since the IDE writes much of it for you, and formats it with the proper casing and spacing between variables and operators. Something that for years I had wanted in the C/C++ IDEs has been available for VB for a while. So it's easy to adapt to it. I also find that the extra verbosity actually makes the code more readable:

                            if (a < 1 && !foo())
                            {
                            ...
                            }

                            vs.

                            If a < 1 And Not foo() Then
                            ...
                            End If

                            VB code reads more like regular English. Regards, Alvaro


                            K Offline
                            K Offline
                            Kevin McFarlane
                            wrote on last edited by
                            #23

                            Alvaro Mendez wrote:

                            if (a < 1 && !foo()) { ... }

                            The ! operator is one of my pet peeves about the C-family languages. I agree VB is more readable here. Because of the lack of readability of the ! operator developers often compare to false, but this is less readable than if you could use a not keyword. I still oscillate between ! and comparing to false. The ! is particularly bad in contexts where you have if (something) followed by if (!something) You tend not to see the ! (no pun intended);) Kevin

                            G 1 Reply Last reply
                            0
                            • C Charlie Williams

                              To satisfy millions of their customers? Seems like a pretty solid reason to me. Charlie if(!curlies){ return; }

                              G Offline
                              G Offline
                              Gary R Wheeler
                              wrote on last edited by
                              #24

                              I don't get the impression they did that at all, given that VB.NET is completely not backward-compatible with VB6.


                              Software Zen: delete this;

                              Fold With Us![^]

                              K 1 Reply Last reply
                              0
                              • K Kevin McFarlane

                                I agree completely. Be prepared to use whatever is appropriate for the job. When other things are equal, use what you prefer. That's the professional attitude. I've mainly only used C# so far in .NET. But I'm about to start a VB .NET contract. I don't mind. Only problem might be silly recruiters who insist that you must have recent experience of X, Y, Z. So will C# jbs be closed to me when I finish this contract? Kevin

                                D Offline
                                D Offline
                                Dave Kreskowiak
                                wrote on last edited by
                                #25

                                Kevin McFarlane wrote:

                                So will C# jbs be closed to me when I finish this contract?

                                That probably depends on how you write your resume. Stress the fact that you're a language-independant developer with large .NET Framework experience and you should be fine. You'll, oc course, have to name-drop all the languages that comes standard in the Framework, because that's the game we have to play... RageInTheMachine9532 "...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome

                                K 1 Reply Last reply
                                0
                                • T Tad McClellan

                                  This is clearly a poor attempt at starting a religous debate between c# and VB. Pumk1nh3ad has been known to do this sort of thing from time to time. My suggestion is to ignore him. E=mc2 -> BOOM

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

                                  On the contrary, he raises a very good point about the convergence of these languages and did so in a logical manner. The tigress is here :-D

                                  1 Reply Last reply
                                  0
                                  • D Dave Kreskowiak

                                    Kevin McFarlane wrote:

                                    So will C# jbs be closed to me when I finish this contract?

                                    That probably depends on how you write your resume. Stress the fact that you're a language-independant developer with large .NET Framework experience and you should be fine. You'll, oc course, have to name-drop all the languages that comes standard in the Framework, because that's the game we have to play... RageInTheMachine9532 "...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome

                                    K Offline
                                    K Offline
                                    Kevin McFarlane
                                    wrote on last edited by
                                    #27

                                    I do all this but, e.g., I was asked by one recruiter if I had recent C# experience. He got stroppy when I told him it was a silly question. And you do see ads saying "must be recent." Kevin

                                    D 1 Reply Last reply
                                    0
                                    • G Gary R Wheeler

                                      I don't get the impression they did that at all, given that VB.NET is completely not backward-compatible with VB6.


                                      Software Zen: delete this;

                                      Fold With Us![^]

                                      K Offline
                                      K Offline
                                      Kevin McFarlane
                                      wrote on last edited by
                                      #28

                                      It was for syntax familiarity rather than backward compatibility. Same reason as why C# and Java follow C-style syntax when technically they should have abandoned it. But had they done so C-family developers would most likely have rejected C# and Java. Kevin

                                      G 1 Reply Last reply
                                      0
                                      • K Kevin McFarlane

                                        It was for syntax familiarity rather than backward compatibility. Same reason as why C# and Java follow C-style syntax when technically they should have abandoned it. But had they done so C-family developers would most likely have rejected C# and Java. Kevin

                                        G Offline
                                        G Offline
                                        Gary R Wheeler
                                        wrote on last edited by
                                        #29

                                        Agreed. From what I've read and heard, most VB developers start over from scratch when they convert. I think Microsoft dropped the ball, though, in not at least attempting to create some forward path from VB6 to VB.NET. Given their resources, it shouldn't have been that hard to create an automated tool that would do at least a partial port from VB6 to VB.NET, and then highlight the bits in the ported result that needed individual attention. One confession here; I'm not a VB developer. I think I've written only three or four VB apps total, none of which were other than small scale 'one-off' utilities.


                                        Software Zen: delete this;

                                        Fold With Us![^]

                                        K 1 Reply Last reply
                                        0
                                        • G Gary R Wheeler

                                          Agreed. From what I've read and heard, most VB developers start over from scratch when they convert. I think Microsoft dropped the ball, though, in not at least attempting to create some forward path from VB6 to VB.NET. Given their resources, it shouldn't have been that hard to create an automated tool that would do at least a partial port from VB6 to VB.NET, and then highlight the bits in the ported result that needed individual attention. One confession here; I'm not a VB developer. I think I've written only three or four VB apps total, none of which were other than small scale 'one-off' utilities.


                                          Software Zen: delete this;

                                          Fold With Us![^]

                                          K Offline
                                          K Offline
                                          Kevin McFarlane
                                          wrote on last edited by
                                          #30

                                          Gary R. Wheeler wrote:

                                          I think Microsoft dropped the ball, though, in not at least attempting to create some forward path from VB6 to VB.NET.

                                          They have done haven't they? It's called the upgrade Wizard? Or do you mean something else? Kevin

                                          G 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