VB6 or VB .Net?

I am at the point that I need to consider purchasing my own development tools. I have been working with VB6 at work, and it is what I am familiar with.

However, I think the handwriting is on the wall, and VB .Net will be/is the future.

The issue I have is that I still see and hear a lot of talk about VB6. It definitly has not gone away, and, to me, appears to be as strong as ever. And I see where it is still available for sale.

Anyone have any opinions?

I am still confused about .Net and C# and C++ and VB6. Can anyone point me to some good articles that compare them all (if they are comparable; I still don't get the .Net and C# relationship)?

TIA
Lew Hundley

Comments

  • Let me give you a list of Pros and cons:

    VB6

    Pros:
    - Many Legacy Applications Developed In VB6
    - Good Support For Win32 API
    - Many third party COM components written for it

    Cons:
    - Not fully object oriented (Only supports Implementation Inheritence)
    - DLL hell (System locks dll and versioning problems)
    - Too many strange intrinsic commands (#Input, #Put, #Get)
    - Controls dont conform to standard property naming conventions
    - VB6 is not easy to extend
    - Some C++ wizardry is still required to get certain tasks done
    - Single or Apartment threaded

    VB.NET

    Pros:
    - Fully object oriented (Minus multiple inheritence - Only c++)
    - Leverages .NET framework with over 3600 objects to work with for free
    - No DLL hell, No Registry
    - Easy To Extend
    - Multi-Threaded
    - Widely supported now
    - Web development is event based now
    - Once u learn VB.NET then C# is easy (all .NET languages share framework)
    - Many companies nowadays will be looking for someone to convert VB6 to VB.net

    Cons:
    - Is new and lacks in third party support compared to vb6
    - The language is still evolving
    - Porting old VB6 apps is not as easy as Microsoft says
    - Tapping into win32 api is more verbose and requires knowledge of how managed objects are marshalled


    C# is a little more robust than VB.NET in that u can write unmanaged code and use c++ pointers in unsafe sections. C# also supports a language feature I wish they would have added to VB.NET, which is operator overloading.

    VC++ Managed Extensions has the largest capabilites at the expense of longer code and stranger constructs. You can mix managed and unmanaged code.

    In .NET version 2.0 I heard that all languages will support Template programming. A awesome feature C++ has supported for years. You will have the ability to write classes and functions that cover all data types. Instead of having to write the class for each data type.

  • : I am still confused about .Net and C# and C++ and VB6. Can anyone point me to some good articles that compare them all (if they are comparable; I still don't get the .Net and C# relationship)?
    :

    iwilld0it got everything else so I'll just say:

    C# is a .Net language; you can kind of think of it as C++.Net though that's not really too accurate...
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories