Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×
Microsoft Programming

Why Visual Basic 6 Still Thrives 406

theodp writes "Microsoft recently extended 'It Just Works' compatibility for Visual Basic 6 applications through the full lifetime of Windows 8, so VB6 apps will have at least 24 years of supported lifetime (VB6 shipped in '98). So why has VB6, 'the un-killable cockroach' in the Windows ecosystem, managed to thrive? 'Cockroaches are successful because they're simple,' explains David S. Platt. 'They do what they need to do for their ecological niche and no more. Visual Basic 6 did what its creators intended for its market niche: enable very rapid development of limited programs by programmers of lesser experience.' But when Microsoft proudly trotted out VB.NET, the 'full-fledged language' designed to turn VB6 'bus drivers' into 'fighter pilots,' they got a surprise. 'Almost all Visual Basic 6 programmers were content with what Visual Basic 6 did,' explains Platt. 'They were happy to be bus drivers: to leave the office at 5 p.m. (or 4:30 p.m. on a really nice day) instead of working until midnight; to play with their families on weekends instead of trudging back to the office; to sleep with their spouses instead of pulling another coding all-nighter and eating cold pizza for breakfast. They didn't lament the lack of operator overloading or polymorphism in Visual Basic 6, so they didn't say much.'"
This discussion has been archived. No new comments can be posted.

Why Visual Basic 6 Still Thrives

Comments Filter:
  • Use it today (Score:5, Insightful)

    by DogDude ( 805747 ) on Saturday June 09, 2012 @08:37AM (#40267581)
    I'm one of them. I still actively use it today. I know how to use it, and I never had any interest in learning .Net. I've got several mission-critical apps written in VB6, and I'm updating one of them right now. We have no plans to move to something else. If it ain't broke...
  • by transporter_ii ( 986545 ) on Saturday June 09, 2012 @08:44AM (#40267603) Homepage

    A "just works" version of Windows, that MS sold support for, marketed toward businesses, that just stayed the same forever. As it is, MS makes its money on new versions. That's fine for MS, but bad for businesses that don't want to upgrade every four - six years. If MS made money selling a business copy of windows and then got a fair amount for support and updates on it perpetually, it would be win/win for businesses, developers, and MS.

    Where I work at, we installed new systems in police stations in the last two years that were brand new and had Windows XP on them, because the software at the time didn't have Windows 7 drivers.

  • Re:Use it today (Score:5, Insightful)

    by gbjbaanb ( 229885 ) on Saturday June 09, 2012 @08:45AM (#40267605)

    exactly, though I'm quite "meh" on VB6, it is still simple enough to slap something out in it in next to no time, and it works. Sure I'd like the IDE to improve and a couple of niggles to disappear, but hey - all languages have them, including .NET.

    There was a thread on /. recently about teaching salespeople to code - in my experience you don't bother trying, you just give them a copy of VB6 and tell them to knock themselves out. Next thing you know, they've knocked up something that does what they want. Give them a copy of VS2012 and tell them to do the same thing using WPF front end with a C# WCF webservices remote service and they wouldn't be able to do it. And that pretty much sums up why VB6 is still with us and was so popular.

  • by jellomizer ( 103300 ) on Saturday June 09, 2012 @09:08AM (#40267759)

    .NET thrive is because the Visual Studio IDE demands it, unless you are doing C++. The basic rule of thumb, if you are going to be writing programs for windows you use Visual Studio. Now .NET as a language isn't that bad, I actually like it. What I hate is the Virtual Machine nonsense, that only works on Windows Systems, yet it is still virtualized so it runs slow. It combines the worst attributes of the VB6 world and the Java World. If Visual Studio gave people a non .NET option for VB (a VB 7 per say) then I would expect VB 6 dyeing out and .NET wouldn't have caught on. It would have been an other J++

    Java success is in the fact you can write code and run it nearly every modern system out there. And you code isn't scripted but in a way that can be closed source (Not all developers want their code Open Source) Also Java has a good set of quality IDEs Netbeans, Eclipse are a few of them, and they are really good at Java Coding.

    Why do we want VB6 to die more then the others?
    1. It is a platform for unstable applications. VB6 Apps have a tendencies of getting corrupted and random deaths where you need to reinstall them.
    2. Visual Studio 6 needs to run on Newer OS's Windows 7 64 bit... Windows 8?
    3. You cannot buy the media/licenses directly anymore. If you are going to grow you company you cannot stick on a tool where you cannot get legal licenses as your company grows.
    4. Young Whipper Snappers don't want to use it. (We are at a point where we have a lot of software developers retiring) And we need to replace them with younger blood. The problem is the young guys do not want to use it.

  • Re:Use it today (Score:5, Insightful)

    by iosq ( 1084989 ) on Saturday June 09, 2012 @09:13AM (#40267783)
    All well and good, but I think a VB6 application created by salespeople would be the sort of thing that you might see in the average slashdotters worst nightmare.
  • by segedunum ( 883035 ) on Saturday June 09, 2012 @09:17AM (#40267803)
    I've been talking about this for years, and I've even been laughed at here on Slashdot for suggesting classical VB will never be going away. How could it? There is that lovely fully object oriented thingy called VB.Net? Why wouldn't you want to rewrite all your applications in it for no appreciable benefit whatsoever?

    The fact is that Visual Basic was and is used for what it was good at. Departmental and business applications where the overhead of that object oriented nonsense didn't make any sense at all. The fatal mistake that Microsoft made with VB.Net is that it was completely backwards incompatible (yes it is, and no, don't give me any of that 'compatibility' nonsense. It doesn't work, hence this article). You couldn't take a VB6 application, make a couple of changes and recompile it as you'd always been able to do. What they should have done was built a RAD environment on top of .Net that you could compile VB code into, but it's all too late for that now.

    Put simply, if Windows 8 couldn't run classical VB/COM applications no one, and I mean no one, in business would ever consider upgrading to it. Windows up to version 7 would have been virtualised forever. No one cares about .Net applications and no one gives a flying fsck about Metro applications that Microsoft wants you to rewrite everything in...............AGAIN just so they can piss about with trying to amount to something on mobiles. Seriously Microsoft, no one gives a shit. Windows is a legacy application shell and nothing more.
  • Re:Use it today (Score:4, Insightful)

    by Anonymous Coward on Saturday June 09, 2012 @09:38AM (#40267919)

    Better than the hobbled up shit they use today with Access databases linked to Excel dumps......

    One of my BA's at work literally turns on his laptop in his van once he pulls close to the building. He then lets it "calculate" his formulas and worksheets for this massively complex model he's created.

    It takes about 35 minutes so he's opted to turn the machine on early and walk into the building with it while it churns at 100% cpu and thrashes the hard drive.

    He even had it get corrupted once when it crashed and he nearly lost all his work. The guy is an idiot. But his model gets shit done and surprisingly management could care less how he does it.

  • Re:Use it today (Score:5, Insightful)

    by gbjbaanb ( 229885 ) on Saturday June 09, 2012 @10:17AM (#40268099)

    absolutely true, but if you look at TheDailyWTF [thedailywtf.com] you'll see that so-called 'professional' programmers can come up stuff that's just as bad. Only they think they're coding gods, at least the salesman with his VB app knows its just a quick n dirty piece of crap tooling that he uses to get his work done.

    In my place, I know several VB programmers who happily say this, and they know that one day we'll rewrite their apps "properly" so they are less expensive to maintain and work better, when we have the time... which will probably be never.

  • by Anonymous Coward on Saturday June 09, 2012 @10:25AM (#40268143)

    I am not sure the stereotypes Platt is describing really make sense. I know plenty of non-vb6 coders who work 40 hour weeks and actively avoid jobs where they must work evenings and weekends (myself included). I would imagine that plenty of vb6 programmers started working these kinds of hours after the .com bubble popped, for fear of losing their jobs otherwise (until they burned out, of course).

    A career in tech is bad enough as it is....no opportunity for upward mobility without shifting to a completely different role that requires a completely different set of skills and training....a tight ceiling on the salary....spending most of your day typing on a computer rather than socializing...and so on. Working long hours without at least collecting overtime pay for them just adds injury to insult.

    The only reasons I can imagine that people put up with that are:

    1) you are programming games or something and as such really enjoy the work, and would work such crazy hours on your hobby projects completely unpaid if you could
    2) You are making half a million a year (or more)
    3) you are easy to bully and don't have any social skills (hence no social life) and no sense of your actual market value, so you let yourself be exploited.

    I can't imagine that the majority of software developers fall into these categories. They simply must be the minority. Or am I just being totally egocentric and ignorant here?

  • by benjfowler ( 239527 ) on Saturday June 09, 2012 @10:35AM (#40268199)

    Java itself is a simple and clean language, and is not that bloated by current standards.

    I think it gets a bad rap, because people think 'applets', or 'J2EE', or worse yet, the countless piles of crap foisted upon them at work, known as 'enterprise software'.

    The objective reality, I think, is quite different from often-mistaken perception -- I've seen both garbage and masterpieces written in everything from Ruby, to VB6, to Java, to Perl. Depends on the programmer, not the tools or languages.

  • by icebraining ( 1313345 ) on Saturday June 09, 2012 @11:10AM (#40268395) Homepage

    Just because Bonamassa can make good music from a $30 guitar doesn't mean the guitar isn't shit. The fact that a good programmer can write a good programing a crappy language doesn't mean the language isn't bad. It just means the programmer is good enough to overcome the warts.

  • Re:Use it today (Score:5, Insightful)

    by Missing.Matter ( 1845576 ) on Saturday June 09, 2012 @11:42AM (#40268571)

    The guy is an idiot.

    The guy used the tools he knows to get his work done. It might not be the most efficient way, but that doesn't make him an idiot, just ignorant. Maybe instead of being a dick you could educate him as to the more appropriate solution and why his is dangerous/inefficient?

  • Re:Use it today (Score:5, Insightful)

    by 517714 ( 762276 ) on Saturday June 09, 2012 @11:49AM (#40268617)
    An idiot who gets things done is better than a genius who doesn't. If you are surprised at management's position, then your evaluation of who is the idiot is flawed.
  • by zoid.com ( 311775 ) on Saturday June 09, 2012 @01:48PM (#40269293) Homepage Journal

    It's too bad that Delphi didn't win out. It was a much better language/environment that VB6.

  • by Curunir_wolf ( 588405 ) on Saturday June 09, 2012 @01:50PM (#40269307) Homepage Journal
    Exactly. VB6 is crap, but when the customer has an application they like, with lots of functionality, they are NOT going to pay to re-write it in something else just because some developer would prefer to use something different. If they need a minor change they are going to find somebody to spend a day or two making the changes in VB6, no matter how many developers keep telling them they need to spend a few weeks or months to update it to some other language.
  • by hairyfeet ( 841228 ) <bassbeast1968@@@gmail...com> on Saturday June 09, 2012 @04:30PM (#40270145) Journal

    I just don't get why so many find it hard to believe VB 6 has such long legs. it did ONE job and it did that job fucking brilliantly, which was to make an easy to use GUI front end to a DB, that's it, that's all. This is what MSFT fucked up with with .NET because frankly ALL of the VB 6 I've seen being used and being built really was only variants on that one function.

    What MSFT refused to accept was was how important one small function can be to an SMB or SOHO. There is a HELL of a lot of times a small business can use a custom GUI to a DB, everything from contacts to records can be kept in a simple DB that just needs an easy to use front end so the user doesn't have to know anything about DBs, just fill out the forms.

    Finally all those "real" programmers that gnash their teeth at even the mention of the word VB? GET OVER IT, you wouldn't expect them to call a 'real"engineer when all they need is something that can be banged together out of an Erector set would you? of course not and it just so happens there is a hell of a lot of business jobs that don't need some full blown SQL DB just to get the job done. Its just like how we've all seen "applications" built out of VBA and Access, it has its little niche and as long as one doesn't try to build something outside of its little niche? Then its a perfectly valid tool.

    MSFT failed with .NET because they assumed if you were doing job A that you would want to learn to have the power to do jobs B-K, when in reality frankly there were tons of guys that frankly only needed to do job A so B-K were simply overkill and pointless. That is why VB 6 has such long legs, frankly there hasn't been any other language that filled the SMB small DB niche quite as well as VB 6.

  • by LordLucless ( 582312 ) on Saturday June 09, 2012 @08:00PM (#40271233)

    Finally all those "real" programmers that gnash their teeth at even the mention of the word VB? GET OVER IT, you wouldn't expect them to call a 'real"engineer when all they need is something that can be banged together out of an Erector set would you? of course not and it just so happens there is a hell of a lot of business jobs that don't need some full blown SQL DB just to get the job done.

    I'd be fine with that. Except that those little projects that just need to be banged together out of an erector set have a habit of growing, and becoming "business critical". They soon exceed the skills of those who banged them together, and they need to call a "real engineer" in to make it work again. Frequently, the existing software doesn't do exactly what it's meant to, or what the documentation (if there is any) says it does, and nobody wants to give any design criteria are "do what the old one does, but better".

    In short, the reason "real programmers" hate it, is because sooner or later, it ends up being their problem.

  • by Nethead ( 1563 ) <joe@nethead.com> on Saturday June 09, 2012 @08:52PM (#40271451) Homepage Journal

    In short, the reason "real programmers" hate it, is because sooner or later, it ends up being their problem.

    In my business we call that a sales opportunity. When your job is to fix things, the more broke they are, the more money you can make.

  • by LordLucless ( 582312 ) on Saturday June 09, 2012 @09:11PM (#40271547)

    In my business we call that a sales opportunity. When your job is to fix things, the more broke they are, the more money you can make.

    If you were a contractor called in to fix it, I'd agree. If you're an in-house developer whose real job isn't to fix things, but to create new things, getting pulled off whatever job you were doing in the first place to fix someone else's mess is a PITA - and you don't make any more money.

Intel CPUs are not defective, they just act that way. -- Henry Spencer