Moving to .NET

FGump

Newcomer
Joined
Jun 3, 2005
Messages
5
Recently I've still been reading a lot about people who are really against Microsoft (many of the VB6 developers) for not having created VB.NET to be more compatible with VB6 (thus the petition they were signing.) I understand their point and concern about Microsoft no longer supporting legacy applications (after 2008) and that they could similarly drop support for VB.NET users in the future if they decided to make another major upgrade. Some have said "they did it once, why not do it again. And the fact that MS doesn't really use VB for any of their own applications."

At the same time, I feel that MS has really made some good changes to VB and especially with Visual Studio 2005. Personally I'm still using VB6 and am hoping to move into .NET with this new version. I've been reading and watching some videos on VS2005 and like what I've seen.

My reason for posting is I was wondering what other people's opinions are about the fact that so many MVP's seemed to have abandoned VB (and Microsoft) in favor of another platform (Delphi or Java). I've heard there were around 6 million VB developers in the world using VB6. How many of those do you think have migrated over to .NET and how many have moved onto somethng else due to what Microsoft has done?

It is wise to move from VB6 into VB.NET or should one really pick up C#? I'm just wondering if VB.NET will be something that will be around for a long long time.

Thanks for your comments.

FGump
 
Well, making a post on a topic like this might get a lot of biased responses. Keep that in mind.

That being said, there are advantages to VB6 and VB.Net. And C#. And Java. And C++. You name it, there is an appropriate application of it. It depends on your needs, both current and future. Plan ahead. VB.Net will be the easiest transition. For me it the transition was very easy. It seemed like everything was right where it should have been in the first place, and everything that should never have been there was gone, and everything that should have been there and wasn't could now be found right where you expected it. (Realistically, I spend quite some time in the object browser, but my point is that there were very things I couldn't figure out on my own in a small amount of time.) That is just me, and your experience could very possibly be different. My opinion of everything that VB should be might differ from yours.

There are lots of arguments about VB.Net vb. C#. But the reality is that they are very similar and generally, if one suits your needs, the other will. One big advantage to C# is that it uses the much more common C-style syntax which so many other languages do. Learning that will help you out if you want to move to C++ or Java in the future. (I use VB.)

As far as how long VB.Net will be around, just consider how long non-.Net VB has been around, and how long Q-Basic has been around. This is just the next step. This step, however, unifies VB, Java (J#), and the new C#, along with managed C++ and other emerging .Net languages, which might provide them all with a boost of longevity. You are going to have a while to make the transition. Microsoft might have dropped support, but non-.Net VB software will still run for quite some time to come. Still, the transition should be made. You don't see many professional Q-Basic programmers today. To be certain, some day we will be able to say the same about non.Net VB.

How many of those do you think have migrated over to .NET and how many have moved onto something else due to what Microsoft has done?
I can't answer these questions with percentages and statistics, but I can tell you this: VB.Net offers better RAD, a more complete framework, and new programming features that were always missing from BASIC. While there are a few reasons why someone might not want to migrate to .Net, in general anyone who knows what is good for them has moved to .Net. As far as what "Microsoft has done," in my opinion, they simply fixed a broken language. That just my opinion, but I can't really see how one can think that they made it worse. There are probably some tasks that it might not suit as well, but in general this isn't the case, and I generally don't see moving to another language simply because VB.Net was introduced as justified.
 
Learning VB.NET, if you know VB6, is easy. As marble eater says, lots of stuff that was garbage in VB6 has been removed (still a little too much crap left in the syntax however - i.e., you can still put parentheses after property calls...). The .NET framework classes are great - very useful.

However - and I think this is where Microsoft did not estimate correctly - converting large applications from VB6 to VB.NET is a huge undertaking (I've done it and it's not pleasant). Sure, you can do it, but it's such a horrible task that many companies have put it off for this long - and many are still putting it off. If Microsoft had allowed a smoother transition, nearly all companies would have converted to .NET by now (in fact, it's nowhere near the majority even 3 years after the official release of .NET).
 
What about open source support? Is there an open source VB6 compiler that will continue to support the language?

One of the huge advantages about C# (and java and delphi) is that it the language has been (or will be?) standardized so that anyone can write a compiler for it. VB6, being 100% proprietary, does not share the same luxioury. You should be able to find support for any standardized language -- it just won't be "official" Microsoft support. All it will take is someone writing a new compiler and maintaining that and then whether Microsoft continues to support VB6 or not will not matter.

And phasing out support is definately a good thing. Think about all the people that would run Windows95 forever given the opportunity. Not out of love for it, more a lack of caring.
 
FGump said:
I understand their point and concern about Microsoft no longer supporting legacy applications (after 2008) and that they could similarly drop support for VB.NET users in the future

While VB6 becomes true "legacy" in 2008, MS has already abondoned it as of April 1st, 2005.
official VB6 lifespan chart is at: http://msdn.microsoft.com/vbasic/support/vb6.aspx
Some notes about April 1st, 2005: http://blogs.msdn.com/jroxe/archive/2005/03/11/394337.aspx

Please note that from now on the only updates will be "critical" ones, and even if a critical flaw arrises, you HAVE TO PAY to get the update.

If for any other reason, people who purposely stay in VB6 need to take the blanket of ignorance off their head. There's only 2 ways to go with technology, forward or backward (standing still in technology IS going backwards). Wether you like a new technology is irrelevant to the fact that when it replaces the old, the new is here to stay.

So you can either choose to be the guy using the old stuff and oneday when your forced to upgrade, make a huge hurdle as you might have to learn multiple generations of changes, or you can simply follow current technology so the hurdles aren't as big.

I follow this theory closely, this means when a new OS comes out I install and use in (in fact I often jump on board when RC1 is ready) and whatever changes are implimented, I use them as it, not switch to "classic" mode. Oneday "classic" won't be there anymore.

If you don't buy into this way of thinking, then you might as well still be using mainframes with text only dumb terminals running non relational databases that are nothing more than glorified flat files with no data typing.

Honestly, I'm surprised nobody has attempted to write a decent VB6 -> VB.Net converter (or a VB6 -> C# tool) as I feel there's a massive need for it. Sounds like a sweet business opportunity, too bad I never coded VB6 and have barely touched on VB.Net. Sorry guys, I'm a hardcore C# guy.

By reading this post you are contractually obligated to give me 25% of all revenues you recieve by writing a VB6 -> VB.Net conversion tool :P
 
Last edited:
travisowens said:
So you can either choose to be the guy using the old stuff and oneday when your forced to upgrade, make a huge hurdle as you might have to learn multiple generations of changes, or you can simply follow current technology so the hurdles aren't as big.
Or you can be the guy who spends hundreds of thousands of dollars developing a software application and then spends another hundreds of thousands of dollars porting it from a language that is no longer supported every couple of years when "the next big thing" is released...

Sounds like a good personal mantra but it may not always practical. Of course, if that componay continued to develop in the dead language they would be completely moronic. And it's not like the compilers are going to go away either. The issue is that maintanence is the largest part of the software lifecycle and one of the biggest risks in the maintanence of large systems is that support for third party tools/components will be discontinued -- some folks may be locked in to VB6 for a significant amount of time.

What's the lesson to be learned here? Carefully consider your use of third party tools and components when designing/developing an application or system. I would think that in almost all cases, putting all of your trust into a Microsoft Proprietary language would be a mistake -- that is not going to be good for long term no matter how you look at it.
 
I'm doing consultant work here in Germany and help a few companies to "upgrade" their
sw from VB6 to .NET.
I also do the training for the developers.

What i have seen first seemed to be funny, but made sense afterwords.

All the companies that switched to C# where up alot faster.

Before you complain this has nothing to do with C# beeing superior to vb.net but
that all the developers that switched to C# directly started working with the new stuff,
because they had to, while the vb.net developers often tried it the vb6 way which
most of the time isn't working.

So it's up to you but outof my experiences start with c# and after you "mastered" it,
you can always switch to vb.net, it is not a big change.
 
This is my experience, I was a VB developer, when .NET was a BETA I decided to take a look to it, sheesh!!!!!! VB changed!!!! where are my VARIANTS???, after reading a lot about .NET I understood that the main goal for VB was to be a OOPL not a sem OOPL.
Moving to .NET won't be that hard, yeah you will need to read a lot about OOP and maybe some C syntax (if you're planning on using C# instead of VB), but after that everything will be smooth and easy.
.NET is a nice platform and you won't regret it, moving form VB to C# is nice and easy too.
Yeah upgrading large applications is a pain, but at the end you won't regret to do that too.
 
lol yeah, I trie dto use the VARIANT data type, I was doing something really stupid to check .NET, surprise surprise variant is no longer available. So after checking all the apps and the variants I was using (API calls or web apps) we cried a lot, but we managed to upgrade from VB6 to .NET in a very smooth way
 
Back
Top