Why is VB6 still in use? I am confused because Visual Basic 2008 .Net exists and why don't programmers use VB 2008 .NET instead?
I have observed lately that many recently released viruses use VB6 as well.
Why is VB6 still in use? I am confused because Visual Basic 2008 .Net exists and why don't programmers use VB 2008 .NET instead?
I have observed lately that many recently released viruses use VB6 as well.
Perhaps, old programs that are written in VB6 still need support, and developers find it too much overhead to port whole software onto newer platforms like .NET.
I remember Joel's blogpost regarding this very question. And as far as I remember his thoughts were exactly the same.
There are still a large number of developers who know VB6 and can create applications quickly and cheaply in it. The businesses they work for see no reason to spend additional money hiring new people & upgrading infrastructure when the apps they're using still work. Same reason IE6 is still used in corporate environments
Some people don't understand object oriented programming. So they stick with what you know. The only problem is that you need to keep up with current technologies.
Check this discussion.
If I had a couple years to spare I could get rid of all the VB6 code we have. My boss has other ideas for my time. Computer languages don't die if they have a large enough installed base. It's just too expensive to replace all the code.
Many application already built with VB6 still exist, and will exist for more long time.
Some places still teach VB6 for students in summer courses, and they say that its a good programming language to start with!!
I think also if a developer was working with VB6 and didn't see .Net, he will keep producing programs using VB6!!
And while its wired but there are some still don't have .Net installed on their machines and need windows applications.
Because VB.NET can't compile all VB6 code, Microsoft broke source level backward compatibility between VB6 and VB.NET, so programming houses that had a significant investment in VB6 code have put off switching.
VB6 is still the FASTEST, EASIEST way to make GUI programs. Im not saying that using .NET isn't 'BETTER' but for a very large majority of programmers, its NOT faster.
vb.net semantics are really quite different from vb6's -- better, IMHO, but definitely different; and the surface syntax similarities, partly masking the underlying semantics differences, can be a trap more than a help.
As a consequence, porting existing vb6 programs to vb.net may be perceived as a substantial effort and be deemed to be unwarranted (that may be right, depending on how much ongoing maintenance the existing program needs and what environments it needs to run on).
More controversially, training existing vb6 programmers (especially employees who do a bit of coding in vb6 as only part of their overall job, which may include system administration or other duties) may be perceived as unwarranted too -- I think wrongly, almost invariably, because upgrading a person's skills is generally an excellent investment (I say "almost" because I'm reminded of an old friend, quite a few years ago, who steadfastly refused to learn anything beyond Cobol, including VB... but that was because he had such a short time left to go before retirement, his time was fully occupied maintaining existing Cobol programs, and he never really liked programming anyway, having slipped into it almost by mistake and strictly only as a way to make a living!-).
Why is VB6 still around? The answer any surprise
Languages don't expire, it's our attitude around them that changes
If you ask why VB6 isn't dead, let me remind you that C++ is still alive and kicking
VB6 developer licenses do not expire
Also, run-times, there are many places that require IT to install run-times. VB6 came with Windows 2000.
There are many many many applications written in VB6, and sometimes there isn't a budget to upgrade it, just maintain it. Look at MFC as a prime example.
Ever used apps like Magic Jelly Bean Keyfinder? It's written and maintained in VB6 but Delphi rather.
VB6 and VB.NET are completely different languages. They have absolutely nothing whatsoever to do with each other. Microsoft borrowed a few syntactic constructs from VB6 in VB.NET, to make the language appealing to VB6 programmers (just like they borrowed a few syntactic constructs from C++ in C# and a few syntactic constructs from Java in J#), but that's about it.
At the beginning of the Dynamic Language Runtime project, there was a prototype implementation of a language called VBx or Dynamic VB, which was intended as a successor of VB6 on the .NET platform, but it never left the prototype stage, and Microsoft decided instead to integrate DLR support into VB.NET 10 (and also C# 4) and improve COM interoperability in .NET 4, thus alleviating two of the major pain points with VB.NET compared to VB6.
Same reason for many companies to keep on Cobol. Too much built on it and they can't afford a major upgrade including the business logic all over the apps.
VB6 is a rapid application development system that does not require a runtime to be present on the target machine.
Simple as that.
(VB6 runtimes have been included with the OS since the launch of XP in 2001)