Should I move from VB6 to VB .NET or C#?

TechEd 2004 was crazy busy, so there’s going to be some catch up time before I get back into full swing blogging. However, one thing I did want to relate before I forget it.

Last night, Duncan Mackenzie, Amanda Silver, Steven Lees and I (the middle two are VB Program Managers) were having dinner at TechEd and we started discussing the logic of a statement made by several customers during the conference that boiled down to: “We figured that since VB .NET wasn’t the same as VB6, we might as well move to C# when we moved to .NET“ After thinking about this for a moment, it occured to me that this is somewhat akin to saying:

“We figured that since British English wasn’t the same as American English, we might as well learn German when we moved to Europe.”

I mean, it’s a free country and all, but the logic of this does seem a little, well, illogical. Although the two languages can do many of the same things and have many similarities, taking on the extra burden of doing the cultural retraining necessary to move from VB to C# without some kind of well-researched rationale seems to me to be doing a whole lot of work that you don’t really need to. VB .NET adds a lot of power to VB and tweaks a few familiar things, but it’s still substantially the same language, just in the same way that British, American, Canadian and Australian English are all the same language, even if three out of four insist on using “u“s in funny places. (Although on the plane ride back, I got stumped on a crossword because I wrote in “lustre“ rather than “luster.“ I guess I watched too many British shows on PBS growing up.)

The way of the world, I guess, but it doesn’t make sense to me…

63 thoughts on “Should I move from VB6 to VB .NET or C#?

  1. Zach

    We speak American!

    Anyways, go with .NET, its the future. Not many (if any) companies are still developing NEW systems in C/C# – they’re all using .NET.

    Reply
  2. Bob

    VB.NET and C# are essentially equivalent. They are both based on the same extensive .NET OOP model. They both have the same features. Pretty much only the syntax is different.

    C# was designed as the canonical language for .NET. VB.NET was designed to be "conceptually backwards compatible" with VB6, although there are still many differences. Thus, C# is a little bit cleaner, and I would lean toward it. But really, the difference barely matters.

    Reply
  3. Kreshnik Kuqi

    I think VB.NET and C# are the same. they just look different. i read some of the comments and i saw that people say only things at they favor! if there is some on in this world who can make something in C# what i can’t do in VB.NET he will get one Milion. I just want to say that in .NET all languages have(will have) the same force. they just will be MAKED UP different. i have a question for C# Developer why you don’t have DotNetNuke in C#?

    Reply
  4. Swampdonky

    (Quote)Sorry but you Americans (you guys don’t have your own language) are wrong as the English language has been created by the English are therefore when we spell something, you guys have no right to object. It’s you guys have the weird and funny spellings. (Quote)

    For coming in here and getting mad about language use, your sentance made absolutely no sense. Im no english major, but that is not correct english my friend.

    Reply
  5. JT

    I have been using VB.Net for years and consider it far better than C# as a language. After reading all the posts here, my opinion remains the same – VB.Net is superior to C#. However, I must admit that my opinion of C# developers has changed. I used to respect them. But after the posts here, I now realize that many of them are arrogant snobs.

    Reply
  6. SAP

    In my opinion, it doesn’t matter if it is C# or VB.Net, when you move away from VB. You *have* to learn OO and the .NET framework. Sometimes it’s better to shift to C# because that way you will unlearn some of your ‘procedural’ thinking…

    Thinking the right solution (skill) is more important than using a particular language (tool) for development.

    Reply
  7. Mark

    JT Wrote:

    "VB.Net is superior to C#"

    Yes by a long shot, i work extensively in both languages and have to firmly agree that VB.Net is superior to C#.

    Reply
  8. Goma

    I was a Visual Basic 6 programmer. From my experience, moving from VB6 to VB.NET is very UNNATURAL. It is more confusing & difficult for VB6 programmers to learn VB.NET, because we tend to think in VB6 when coding VB.NET.

    In term of performance & simplicity, VB6 is better than VB.NET. For those adapt to OO designing culture, C# is a more natural choice.

    Reply
  9. David Marshall

    The problem is not .NET. The problem is OOP.
    Sure VB6 had OOP-ishness, but really, OOP is an answer to a question nobody asked. Much like C++ was an answer to a question nobody asked.
    You should see a well trained C++ developer code in VB6 for a while. They write great code and they write it damn fast!
    Microsoft killed VB to save money. It’s cheaper to have languages on top of the .NET framework than to maintain separate languages, each with their own API’s.
    The golden days are over. Long live the golden days…

    Reply
  10. VB6 Programming

    2015 and still the VB6 programming argument rages.

    What does seem clearer is that within the .Net sphere C# has won out over VB.Net.

    Clearly (with the benefit of hindsight though many at the time said the same thing) only C# should have been developed, VB.Net should never have been. And VB6 should have been updated.

    A non-managed VB6 together with a managed C# would have given Microsoft a much greater coverage of the market. Instead only around 1 in 3 VB6 developers moved to .Net. The remainder either left Microsoft completely or stayed with VB6.

    And VBA programming still continues (despite attempts by Microsoft to replace it).

    Even now, if Microsoft won’t update VB6 programming, they should make it open source.

    Reply
  11. Steve Ten

    Another option is to move to the new twinBASIC programming language. This is VB6 compatible and has a utility to import existing VB6 apps. It is still in beta with the first release due in 2024.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *