Coffeehouse Thread

26 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

VB.Net vs C#.Net

Back to Forum: Coffeehouse
  • User profile image
    Zen724

    I'm a newbie programmer of 4 yrs... Not just starting but pretty young compared to the company here. I started with VB 6 and have been woking with VB.net and ASP.net for about a year. I'm thinking about learning C#.Net simply because I see more jobs that are requesting the C# skill set.

    Can anyone provide me with a recomendation as to whether  I should stick with VB.net for a while longer or go ahead and take the plunge into C#?

    Thanks in advance,


  • User profile image
    miies

    Why not do both? I'm diving into C# myself at the moment, but as long as I'm not really experienced in it, I still code VB.NET for a living.

  • User profile image
    Sampy

    Good answer!

    Also, don't fall into the "C# is for real programming and VB isn't" mentality. I work on Visual Studio and 90% of the work I do in managed code is in VB.

    I mean Microsoft.VisualBasic.dll is written in VB! You'd be surprised how many VS components are...

  • User profile image
    Deactivated User

    Comment removed at user's request.

  • User profile image
    James Steele

    Why not learn both? Learning the constructs and syntax of either VB.NET or C# is not such a grand undertaking.

    I think the the challenge with .NET lies in:
     
    - coming to grips with the .NET Foundation Class Library (FCL).
    - learning about the CLR
    - learning about deployment strategies
    - learning about applying design patterns to .NET apps using the right classes from the FCL
    - learning about security in .NET
    - web services
    - and the list goes on...

    If you have been using VB.NET for a year already, then I think you will find picking up on C# fairly academic.

    Here is a good starting point:

    Go for it! C# Language Specification

    James

  • User profile image
    yag

    I agree with everything said above - both languages give you access to the full power of the framework. I did want to point you to the roadmap for VS: http://msdn.microsoft.com/vstudio/productinfo/roadmap.aspx#2005

    yag

  • User profile image
    SKG

    This is the biggest challenge we seem to face at MSDN, "how" to present all the content. With everyone using everything differently, this has been a huge undertaking and we do hear from the frustrated customers, and ever more rare is the "satsified" customer...

    This is mainly a usability issue IMHO, maybe if everyone would just start thinking and moving exactly the same Smiley

  • User profile image
    Sampy

    For my fellow VB users out there, the new My classes coming in Whidbey should be awesome when it comes to usability.

    Check out what you have in the PDC drops as well as the Community Tech Preview (or whatever they're calling it now) and you can see some pretty amazing stuff. Like a file copy function that shows the windows standard animated flying file dialog or a printing mechanism that's actually sane and easy to use.

    My is all about taking the power of the framework and making it usable (it's also amazingly extensible). I can forsee some C# devs trying to get their hands on it after we ship whidbey...

  • User profile image
    Manip

    I never plan on using VB.Net. I am a hardcore BASIC fan and have been using it for years, but when Microsoft decided to mutate BASIC into a C look-alike they lost me. If I wanted to use C I would use C, nobody wants C with BASIC syntax that is completely useless.

    I personally believe the people who designed VB.Net hate BASIC and BASIC programmers that is the only way to explain what they have done to a once effective and wonderful language.

    If they have released VB 7.Net, so it followed the VB6 and BASIC language syntax but added more features it would have been a hit.

     

    I personally feel I could have done a better job with VB.Net, just give me a copy of the BASIC ISO standard and borrow a few wonderful ideas from PowerBasic, C/C++ and you have an even better development system. When I say borrow, I don’t mean copy.. When you borrow ideas you adapt them, when you copy you just dump them in.

     

    I would like to know if the Microsoft Management wanted VB.Net to fail. I mean I can understand a C/C++ programming team trying to sabotage VB.Net but shouldn’t the management have stepped in and say, “No wait! We will lose customers with this.”  I also wonder if Microsoft was trying to do something new with VB.Net for the sake of being new. Like “Well we have re-build C so why not BASIC?” There’s nothing wrong with that, except when you re-built C, you kept it with the same syntax and just moved a lot of language features over so the C programmers feel happy… but for BASIC it is not any of that.

  • User profile image
    timothyblek

     I also wonder if Microsoft was trying to do something new with VB.Net for the sake of being new. Like “Well we have re-build C so why not BASIC?” There’s nothing wrong with that, except when you re-built C, you kept it with the same syntax and just moved a lot of language features over so the C programmers feel happy… but for BASIC it is not any of that.


    I think that one of the reasons for such a structural change was the idea that they wanted to make VB truly object oriented, and unfortunately the BASIC syntax doesn't lend it to some of the higher OOP principles.

    That being said, 90% of the programmers out there don't really need these OOP functionalities and don't want to deal with the issues that brings to the table, and in trying to turn VB into a "true and powerful" language I'm pretty sure they had to jump through quite a few hoops.

    It's like taking a sports care and trying to make it into an amphibious vehicle.  Sure you can do it, but it ruins the original intent and you're going to lose a lot of people who enjoy their sports cars.

  • User profile image
    Lwatson

    If you are a sort of fellow who does not want any stigmas to be associated with their work than go with c#, If that sort of thing does not bother you then stick with VB.Net. I remember being at a convention a year ago where VB was characterized by the presenter of one session as being riddled with 'Taliban' programmers/programming. "His words not mine" I do remember being a bit put off by those comments, and while its generally accepted that todays VB is not your fathers VB, there are still some out there who might harbor that kind of "Flawed" thought.

    It might come into play in an interview. Would you want to have to fight it in and interview?

    Of course you could hedge your bets and get good at one and be conversant with the other. Remember its the API that give all this stuff its go-go juice. The rest is mostly syntactic sugar.

    my 2c

  • User profile image
    Manip

    But VB 6 leads its self MORE towards OOP than C++ does. Because VB 6 uses COM as a basis for operation it is easier and more technically correct than C++ has ever been.

    Just because 90% of VB programmers have no idea how to use it...

  • User profile image
    billy

    Once you get over the syntactical differences, there isn't much to worry about. My approach is this though, design patterns are important, language syntax can be looked up in ~2 minutes. If you know the functionality provided by the foundation classes, and when to use which, you can easily look up the syntax. As far as a real world reason why, the company I work for chose to standardize on C# because it mitigated the learning curve for both C++, and VB folk. That's not to say that we don't write any more C++ or VB code, just that we write more C# than either. So from that standpoint, I would agree with other posters here who have said, keep going with VB, become conversant with C#. You'll be suprised (I think) at how quickly you can implement something in C# (even though it's new to you) vs VB (even though you already know it) once you get over the sytactical differences. Hope this helps... sorry I couldn't add line feeds, this site doesn's support my browser very well Smiley

  • User profile image
    Frankie Fresh

    The only way to resolve this conflict aside from  scholarly discourse is a mud wrestling match between swimsuit models.

    Just a thought.

  • User profile image
    IceFreak2000

    Manip wrote:
    But VB 6 leads its self MORE towards OOP than C++ does. Because VB 6 uses COM as a basis for operation it is easier and more technically correct than C++ has ever been.


    I don't want to get sucked into another religious war regarding VB6 and VB.NET (I wasted far too much time over on the DevX newsgroups - before they dropped NNTP), but COM != OOP.

  • User profile image
    selyafi

    Just go on learning C#, nothing difficult and it's quiet simple.  

  • User profile image
    Jorriss

    More VB.Net vs. C# discussion?  Just learn assembler.

  • User profile image
    Manip

    Jorriss wrote:
    More VB.Net vs. C# discussion?  Just learn assembler.


    And it's working, I'm gallous of you already. Smiley

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.