Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Why Visual Basic 6 Still Thrives

timothy posted more than 2 years ago | from the nuke-nuke-who's-there? dept.

Microsoft 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.'"

cancel ×


Sorry! There are no comments related to the filter you selected.

Might as well... (0, Flamebait)

Anonymous Coward | more than 2 years ago | (#40267575)

Might as well have "why .NET still thrives", or "why Java still thrives" in the thread title.

Re:Might as well... (2, Interesting)

ProDeveloper (2657899) | more than 2 years ago | (#40267639)

.NET is actually awesome, especially when used with C#. Java is too much bloat and slow and needs to die. But .NET is awesome and targets all PC, XBOX360 and Windows Phone 7. And you can use the best IDE on the planet, Visual Studio, to develop.

Re:Might as well... (2, Funny)

O('_')O_Bush (1162487) | more than 2 years ago | (#40267673)

So much troll, so few words.

Re:Might as well... (0)

ProDeveloper (2657899) | more than 2 years ago | (#40267835)

Frankly, it really is how I stated it and countless amount of people agree with it. I'm not surprised it gets modded as 'troll' on Facebook, but it doesn't change the fact that C#/.NET/Visual Studio are all very liked tools by almost every developer on the field and that those beat every else IDE there is.

Re:Might as well... (1)

Anonymous Coward | more than 2 years ago | (#40267951)

I'm not surprised it gets modded as 'troll' on Facebook

Not sure if trolling or just idiot. Either is pretty lame.

Re:Might as well... (5, Insightful)

benjfowler (239527) | more than 2 years ago | (#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.

Re:Might as well... (5, Insightful)

jellomizer (103300) | more than 2 years ago | (#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:Might as well... (4, Informative)

Dr_Barnowl (709838) | more than 2 years ago | (#40267891)

The VB6 compiler produced native code. Most of the sloth came from the runtime libraries, and most of that from string handling : rolling your own StringBuilder class fixes most of that.

Java has the same issues, also using an immutable string class, but they fixed it by hacking the compiler to recognise where you are doing string concatenation in a loop and make a StringBuilder out of it instead. .NET also produces native code, eventually.

Performance problems in any of them are usually down to bad algorithms, or using a mass of bloaty libraries to compensate for a lack of time.

Re:Might as well... (0)

Anonymous Coward | more than 2 years ago | (#40267931)

Yeah just don't try to free lots of memory in VB6!!!

Go ahead and try it...

Re:Might as well... (3, Funny)

idbeholda (2405958) | more than 2 years ago | (#40267935)

This is why when I develop applications with VB6, if I'm not satisfied with the speed, I typically use ASM as a back engine, and have the main interface and said engine communicate back and forth via commandlines and/or files. It might not be the most elegant solution, but it works in terms of stability and usability.

Re:Might as well... (3, Insightful)

Anonymous Coward | more than 2 years ago | (#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 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?

Re:Might as well... (5, Informative)

gbjbaanb (229885) | more than 2 years ago | (#40268187)

3, and 4 are fair points. 1 and 2 are just wrong. VB6 apps are no worse than any other, and you can run VB6 on windows 7 64bit with a patch that you can download from MS.

I do think that VB7 would have killed .NET dead, which is exactly why they didn't make one. I understand MS wanted the original .NET to be much more VB compatible, but the .NET guys didn't (or rather couldn't) want to do this, they wanted to make their own version of Java and nothing was going to stop them. Well, until today when MS has realised .NET performance and efficiency is crap and they need to go back to native code. Maybe now they'll make a VB7 that is geared toward quick-n-easy Metro apps, then Windows8 might actually become popular.

Re:Might as well... (0)

Anonymous Coward | more than 2 years ago | (#40268189)

Point 1 is bs. 12 years of an app running must make it unstable, especially since it has never needed to be reinstalled. Vb6 does its job, anything more serious and I jump to C++.

Re:Might as well... (3, Informative)

Sperbels (1008585) | more than 2 years ago | (#40268217)

It is a platform for unstable applications. VB6 Apps have a tendencies of getting corrupted and random deaths where you need to reinstall them.

Been using it since release. This is total BS. It is very stable.

Visual Studio 6 needs to run on Newer OS's Windows 7 64 bit... Windows 8?

What? I'm still running it on Win XP, Server 2003, 2008, Vista, and 7. WTF?

Use it today (5, Insightful)

DogDude (805747) | more than 2 years ago | (#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...

Re:Use it today (0)

Anonymous Coward | more than 2 years ago | (#40267599)

I have not used it for a while, but several apps I wrote around 10 years ago are still running today. Like you said if it ain't broke. Makes no sense to reinvent the wheel if you don't have too.


Re:Use it today (5, Insightful)

gbjbaanb (229885) | more than 2 years ago | (#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.

Re:Use it today (5, Insightful)

iosq (1084989) | more than 2 years ago | (#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.

Re:Use it today (4, Insightful)

Anonymous Coward | more than 2 years ago | (#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 (1)

tomhath (637240) | more than 2 years ago | (#40267947)

The code might be ugly, but the next time a user says to you "All I really need it to do is X", pay attention to them. They don't care how well written it is if it does X, that's their only requirement.

Re:Use it today (4, Insightful)

gbjbaanb (229885) | more than 2 years ago | (#40268099)

absolutely true, but if you look at TheDailyWTF [] 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.

Re:Use it today (2)

fizzer06 (1500649) | more than 2 years ago | (#40268145)

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.

Do you think they would more likely be able to create remote web services with VB6?

Re:Use it today (1)

leenks (906881) | more than 2 years ago | (#40267613)

I thought there were major compatibility problems with the VS98/VB6 IDE on Windows 7 and Windows 8 (caveat: I heard this from a large desktop consultancy that were brought in to provide new systems for a large organisation - I haven't validated it myself). If so, won't this stop you developing once XP is unsupported, unless you want to be developing using an un-patched OS? I'm genuinely interested in your strategy going forward, as a friend maintains a VB6 application that is going to be a nightmare to port to VB.NET, so it might as well be rewritten in something else.

Re:Use it today (1)

DogDude (805747) | more than 2 years ago | (#40267651)

Nope. VB6 apps (the ones that I write) work fine with Windows 7.

hello world doesn't count (0)

Anonymous Coward | more than 2 years ago | (#40267905)

try something complex and your beat.
the fact is hobbiests use it or other stuff cause they dont want to pay .pay some more hence why win 8 and 7 are just vista fixes and why xp is still so strong

Re:Use it today (2)

cianduffy (742890) | more than 2 years ago | (#40267683)

The little work I have to do with the IDE on Win7 still works fine. I would imagine installing some supporting libraries for specific features could be difficult - I did have to fight the SOAP libraries on.

Re:Use it today (1)

pegisys (1616521) | more than 2 years ago | (#40267725)

When a company that I had worked for upgraded all the developers boxes to windows 7 the vb6 developers all ran the IDE in XP mode.

Re:Use it today (1)

Anonymous Coward | more than 2 years ago | (#40267885)

There do not seem to be any issues on my machine - win7 64bit.

I have been developing in C# the last few years, prior to that, I was developing in VB6 for about 6 years.

I went for an interview with an investment bank that still have quite a few apps in VB6. To prepare for the interview, I developed a few small apps, including COM+

No issues, it just works. There maybe an issue with win8, i don't know.

Re:Use it today (5, Informative)

segedunum (883035) | more than 2 years ago | (#40267915)

I thought there were major compatibility problems with the VS98/VB6 IDE on Windows 7 and Windows 8 (caveat: I heard this from a large desktop consultancy that were brought in to provide new systems for a large organisation - I haven't validated it myself).

There is your answer right there. I've heard this myself from large consultancies trying to sell you the latest alphabet acronym soup of Microsoft's latest development technologies so they can make a bundle. Those who have bought in then get to upgrade and rewrite all their code in the new latest and greatest .Net version 77.4 and whatever the latest name for Windows.Forms is in perpetuity. It never ends. You end up firefighting and upgrading more than you do actually coding useful updates into the application

History over the past decade should teach us to be very, very wary of buying into any of the latest development technology from Microsoft. Silverlight developers are soon to be dumped on from a great height and these pitiful Metro applications we're all supposed to write now make me laugh, all so little baby Ballmer can have yet another expensive failure at being Apple or Google on mobiles.

I'm genuinely interested in your strategy going forward, as a friend maintains a VB6 application that is going to be a nightmare to port to VB.NET, so it might as well be rewritten in something else.

The quiet secret is that a lot of companies if they've rewritten anything over the past decade have rewritten their applications to be run over HTTP and a web browser. Anything that can't has stayed as it is. Not that web applications are perfect by any stretch of the imagination but at least there is a relatively stable target there now and you have other browsers besides Internet Explorer, and even other operating systems besides Windows, so the rug doesn't get pulled out from underneath you. Deployment is quite a bit easier as well.

Re:Use it today (5, Interesting)

V for Vendetta (1204898) | more than 2 years ago | (#40267653)

I'm one of them. I still actively use it today.

Same here. And everything that VB6 can't do or "needs a 'lil help with", I'm adding with PowerBASIC [] (PB). My programs are typical inhouse programs: Retrieve data from A, convert/calculate/transform it, store it back to A or pass it over to B.

If my time would permit (programming is only part of my job's duty), I'd replace every VB application with a complete PB counterpart. Unfortunately that's still not the case, but I'm working on it. I just wish PB would hire someone to write a decent IDE. The compiler is a masterpiece (and doesn't need to fear the comparison with any other language), the IDE ... not so.

Re:Use it today (0)

Anonymous Coward | more than 2 years ago | (#40267953)

Wish I could mod you up. PowerBASIC rocks.
It's clean and fast. some of the GUI code means you have to actually understand how Windows works under the covers though.
And honestly most programmers I know couldn't care less why it works, they just want to get a job done and move on.

In today's world where there is enough memory and processing power to write crappy code that runs more than half as efficient as PowerBasic, and still end up looking like the hero, they just don't care about efficiency.

Re:Use it today (2)

Anonymous Coward | more than 2 years ago | (#40267661)

I've been using VB6 ever since I was 12 (since 2002), and .NET never made itself interesting to me. I tried to learn the language recently, but the lack of a simple intuitive user interface in the "metro" Visual Studio 2010 made me cringe at the sight of it when it was necessary to stare at it for more than a few hours daily. VB6 does exactly what is needed, quick development with total BASIC programming and no OOP directives.

Re:Use it today (2)

Dr_Barnowl (709838) | more than 2 years ago | (#40267917)

I like .NET but have avoided VB.NET assiduously ; it's almost, but not quite, completely unlike VB6, and I don't want it ruining my VB6 knowledgebase for my retirement.

Re:Use it today (2)

benjfowler (239527) | more than 2 years ago | (#40268235)

.NET is kinda nice from a technical point of view, especially if you like fiddling with parsers and compilers. MSIL is a very nice intermediate language to emit from the front end of a compiler...

Re:Use it today (1)

BenJury (977929) | more than 2 years ago | (#40268095)

While I do not use VB6 now, I've had a lot of experience using it 'back in the day' for mission critical applications. It is a very flexible language, with very few things it couldn't do. Frankly I take umbridge at the "enable very rapid development of limited programs by programmers of lesser experience" quote, I can only guess it was written by someone whose never programmed professionally using VB6.

It is already broken -- Re:Use it today (0)

Anonymous Coward | more than 2 years ago | (#40268225)

Lack of support for unicode, auto-layout, DPI-scaling, double-buffering, animations, hardware-accelerated vector drawing, etc, etc.

In short, it's plain, dull, boring, and utterly unexciting to develop apps with.

What would be nice would be (5, Insightful)

transporter_ii (986545) | more than 2 years ago | (#40267603)

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:What would be nice would be (1)

DogDude (805747) | more than 2 years ago | (#40267619)

You just mentioned Windows XP. While it may not be "forever", it's got to be the one of, if not the longest supported commercial OS ever. Like VB6, it still works just fine. There's still no good reason to "upgrade" XP.

Re:What would be nice would be (1)

O('_')O_Bush (1162487) | more than 2 years ago | (#40267727)

There *wasn't* a good reason to switch from XP, until M$ stopped or threatened to stop releasing security patches for it, which is a big no-no for many companies.

Re:What would be nice would be (1)

transporter_ii (986545) | more than 2 years ago | (#40267845)

And look at the time period XP was on the market vs. Vista, 7, and now 8. I know businesses just getting their first Win 7 machines and MS is already pushing 8 out on everyone. That's fine for home users. For businesses, it just isn't good business.

Re:What would be nice would be (1)

Mspangler (770054) | more than 2 years ago | (#40268159)

" I know businesses just getting their first Win 7 machines"

Just like us. Wim 7 rollout is scheduled for sometime this summer, except for certain critical machines that will presumably get upgraded next year.


Re:What would be nice would be (3, Interesting)

geekmux (1040042) | more than 2 years ago | (#40267895)

There *wasn't* a good reason to switch from XP, until M$ stopped or threatened to stop releasing security patches for it, which is a big no-no for many companies.

Let's not confuse "a good reason" with "corporate blackmail". We all know where the lionshare of M$ profits come from, yet most business desktops have little real need to upgrade hardware or software beyond what Windows XP can offer.

Then again, with more and more applications being fed through a web interface, perhaps businesses should be asking themselves a question that becomes more and more relevant with each passing day....

Why are we even paying for Windows OS?

Re:What would be nice would be (2)

DogDude (805747) | more than 2 years ago | (#40268007)

I'd hold off on the name calling. XP has a much better support history than ANY other commercial (non-commercial too?) OS available.

Besides, I'm convinced that MS will continue releasing security updates for XP indefinitely. They'll see from usage statistics in a few more years that a LOT of people are still using XP, and I think they'll support it. They're not dumb. They know that many people will use XP come hell or high water, and I don't think they would want to let such a widely visible product get destroyed. This isn't Windows 95. This is a completely functional OS currently installed on many millions of PC's all over the world.

Re:What would be nice would be (0)

Anonymous Coward | more than 2 years ago | (#40268031)

Are you freaking serious? I've been using Windows 7 for a long while now. XP is horrible in comparison. Everything is just easier - the number one feature being the start menu search bar. Also, I can have 20 applications open without having a task bar that isn't completely useless.

Windows 7 enhances my productivity greatly in comparison to XP. Just because something "still works just fine" doesn't mean companies and people shouldn't strive for improvement. I think it's silly to adopt some kind of sadistic pride in the matter - "yep, I still use me ol' horse and cart. There's no good reason for "cars" - me ol' horse an' cart is workin' just fine".

Re:What would be nice would be (0)

Anonymous Coward | more than 2 years ago | (#40267929)

They have to stop right before it becomes unprofitably stable and secure.

Re:What would be nice would be (1)

timeOday (582209) | more than 2 years ago | (#40268167)

MS peaked in 2003 (XP+Office 2003). And to be fair they pretty much nailed it by then. Off the top of my head the only thing I'd really miss by going back to that setup was indexed searching for emails in Outlook. It'll be interesting to see if Apple finds anywhere to go after smartphones settle down.

The more, the less (0)

Anonymous Coward | more than 2 years ago | (#40267617)

The more the programmer's memory is loaded with language constructs and concepts, the less the programmer has for creating applications. High level languages are for people, low level ones are for machines. Both have limited abilities.

Old Developers and Poor Upgrade path. (3, Informative)

jellomizer (103300) | more than 2 years ago | (#40267625)

If you had VB5 and you got VB6 you could upgrade your app to a vb6 application very quickly and your program looked and worked just like it did before.
Upgrading you VB6 app into .NET breaks all but the most basic application, and there is a lot of rework to be done. Often these VB6 apps are not the best design and, and you need to find a .NET compatible version of your third party tools, then they are probably quite different and you need to rework them again.

Next you have the .NET framework. I write a program in visual studios 2010, Now I need to make decisions... Do I compile it for .net 2.0 and not have as many features but know that my system will work on most modern windows systems, or work on 4.5 and require all the users to upgrade their system? Why can't I just compile it into a static .EXE

Finally you have older developers. These guys are not Computer Scientists, They studied other fields and happened to learn computers, and started to program before a lot of the formalization in good form came into place. .NET seems unnecessarily restrictive to them. Why do you need to type all this extra crap. I need it to do this, why do I need System.Windows.Forms.PotatoGun.PopSound() instead of PlayPop Often these older developers are just maintaining the existing system that they have coded decades ago. So there is no real push to upgrade and give them a new project just because it needs to support .NET

Re:Old Developers and Poor Upgrade path. (0)

modmans2ndcoming (929661) | more than 2 years ago | (#40267687)

you can compile it to a static exe. MS even has the tools available for you to do that.

Re:Old Developers and Poor Upgrade path. (1)

Anonymous Coward | more than 2 years ago | (#40267881)

Except it will not run on computer that does not have particular version of .NET installed. No, you cannot compile it into static EXE that is self contained.

Re:Old Developers and Poor Upgrade path. (1)

Dingbat1967 (988977) | more than 2 years ago | (#40267879)

I agree with the previous poster.

I would not be surprised that there are a lot of programmers today who aren't necessarily people who got a formal education in development but grew into the position. They are often specialists in other fields of work and needed to develop tools that assisted in their specialty. VB6 really is great for people who need to whip up an application rapidly without too much fuss and I don't see any real alternatives out there. VB.NET comes close, but what you're doing is wrapping a language around OO and .NET instead of going the other way around that is, what is it that would make life easier for field experts to develop apps for their field specialty without needing to hire professional developers. VB6 fills that gap and there really is no alternative.

VB6 also addresses another niche: hobby programmers. Any non-professional programmers can get some pretty slick apps done in VB6 you wouldn't be able to do otherwise on any other platform.

If a company today decides to target this market with proper financial backing, and maintain some kind of VB6 compatibility, while abstracting away most of the .NET backend so you don't need to do"some string") ...

Re:Old Developers and Poor Upgrade path. (1)

houseofzeus (836938) | more than 2 years ago | (#40268221)

I would not be surprised that there are a lot of programmers today who aren't necessarily people who got a formal education in development but grew into the position.

This isn't actually that different from how a lot of people ended up in COBOL development, which also refuses to die. I did it for a few years straight out of university and had studied Software Eng., but I was definitely in the minority.

Why isn't Ruby thriving, though? (1)

Anonymous Coward | more than 2 years ago | (#40267631)

Everyone involved with software development these days has surely heard of Ruby, and especially Ruby on Rails. Along with Cloud Computing and NoSQL, it was one of the most-hyped technologies of the past decade.

One of its core strengths is that it was supposed to allow relatively unskilled computer users to quickly create web apps. Much of the "hard work" was to be handled by Rails, including data access and the routing of web requests. In many ways, Ruby on Rails was claimed to be the Visual Basic of web development.

Unlike Visual Basic, however, we are seeing people fleeing from Ruby on Rails as fast as they can.

If I had to make a guess, I think it would be because of some of Rail's major problems. These include:
- it can be very slow
- it often doesn't scale well
- Ruby code quickly becomes unmaintainable, especially for large web apps, because it's a dynamically typed, interpreted language
- the community has archaic attitudes toward women
- people paying good money for web apps are quickly getting tired of the failed promises and shoddy work of so many Rails advocates and developers

While Visual Basic 6 apps usually aren't known for having the best or the most maintainable code, at least it doesn't bring along the numerous other problems that we see associated with Ruby on Rails. Perhaps this is why Visual Basic 6 has had some significant staying power, while Ruby on Rails is stagnating.

Re:Why isn't Ruby thriving, though? (4, Informative)

quetwo (1203948) | more than 2 years ago | (#40267779)

VB6 has staying power for one major reason -- you can do about half of the programming by dragging-and-dropping. You have a visual IDE, where you can plop stuff onto a form, 'wire them up' with a few lines of code, and you are the rock-star of the day. For those of you who are visually oriented, it is a huge plus to write in the language. And if it didn't do that one thing you needed out of the box, you would go and buy some 3rd party's OCX, which would show up on the toolbar, and you plopped that onto the screen. Additionally, working with Databases was pretty much as easy as Access -- again, drag-drop stuff, enter the database name, and away you went. Do date, there really isn't any IDE/Language that has targeted this audience of people who wanted to do RAD in this visual manner. So many of the web-targeted languages you need to visualize everything for the computer (which some people really have a hard time with). Many of the other modern application development languages require a lot more programming to do the same thing.

Re:Why isn't Ruby thriving, though? (2)

Dingbat1967 (988977) | more than 2 years ago | (#40267913)

VB6 Staying power is also due to this fact: anybody can do programming with it. You don't need to get formal education in development to use VB6. It's a tool that was create to solve the problem "how do I get people to write their own applications and solve their problems themselves" and not "how do I make professional developers productive and happy". VB6's target audience is much wider than professional developers. And right now there is no alternative.

Re:Why isn't Ruby thriving, though? (0)

Anonymous Coward | more than 2 years ago | (#40267985)

Gambas.... check it out.

Like Visual basic, but free and open source.

Re:Why isn't Ruby thriving, though? (3, Informative)

sydneyfong (410107) | more than 2 years ago | (#40267795)

My personal (potentially biased) explanation is that RoR forces you to dive into the underlying technologies (which can be really raw) once you try to implement something beyond the tutorial.

The other thing is, the underlying complexity of an "desktop app" is much lower than a web app, which is really a distributed system comprising many components...

More is less... (2)

kanto (1851816) | more than 2 years ago | (#40267649)

Less time that is; there's always a temptation to try and utilize all the bells and whistles in a programming language. Often this adds to complexity and makes the code harder to understand in one glance; polymorphism for example sucks if you only have sourcecode to figure out what's going on. I personally like C++, but I try to only use the parts which make life easier (and honestly stl for the most part is one of them, with a little study the basic stuff there goes a long way).

Retarded programmers (-1)

Anonymous Coward | more than 2 years ago | (#40267665)

The world is full of them. Thank you for that Bill Gates.

Compatibility is Windows best feature (4, Interesting)

Quick Reply (688867) | more than 2 years ago | (#40267675)

There are many projects, usually internal or niche market applications, which have decades of legacy code to keep the product running. This is not a choice of the developers or done out of laziness, this is what their employers have given them to work with.

If you have to rewrite vast amounts of code because the programming language is out dated, you will find that depending on the size of the project, the company who owns the project will be on the hook for millions of dollars to rewrite it so that it will work with modern environment.

If you are a company in placed in this position of having to rewrite everything, what is there to say that you are going to stay on the Microsoft ecosystem. You have emerging technologies in the enterprise (iOS/iPad/Objective-C), you have Web Applications and "Cloud Computing" (Which are platform independent and would most likely run on a non-Microsoft backend) and if you are a developer who just wants to get it working on the cheap (Where the market is vertical enough that the customer will use any platform you tell them to because they need to run your app) you could probably save a tonne of development cash by just making it run on WINE on GNU/Linux

Better for Microsoft to keep supporting developers who have their ecosystem running on Windows, as these applications directly translate into sales of Windows licenses. If Windows did not have compatibility, then Windows will be just like the rest.

Incidentally, this is why Windows on ARM Tablets will ultimately fail, as there is no compatibility with x86 apps unless it is 100% written in .NET or HTML5 (not that many out there in the whole Windows ecosystem).

Why hasn't anyone else tried to replicate VB6 (0)

Anonymous Coward | more than 2 years ago | (#40267681)

VB6 was great for whipping up a quick app.
Sure there was a lot of crap written that helped give it a bad rep. But if you took the time, you could make some decent quality stuff much quicker than any other language at the time.

I often wonder though, if Microsoft doesn't want to develop a true VB7, why doesn't someone else?
Build a VB6 clone with all the mod cons, allow it to build native exe files like vb6 and you'd be on a winner you'd think.

With some modern touches, things like mousewheel support in the ide (nope vb6 does't have it :-), better networking, sound and graphical abilities it would win a lot of people over.

Re:Why hasn't anyone else tried to replicate VB6 (0)

Anonymous Coward | more than 2 years ago | (#40267859)

A "clone" exists, it's called Gambas:

Re:Why hasn't anyone else tried to replicate VB6 (1)

Dr_Barnowl (709838) | more than 2 years ago | (#40267965)

My VB6 devkit includes a whole bunch of stuff that make it tolerable ; one of them is a mousewheel plugin for the IDE. Also a text search that searches everything and supports regex, a "find all callers" routine, error handler insertion, and a decent stack-ish error handling library. Full stack traces with line numbers in VB6 code are very useful.

But not the IDE? (0)

Anonymous Coward | more than 2 years ago | (#40267709)

But the IDE is NOT supported if I read this correctly:

Hard maintaining an environment without the IDE/compiler...

Re:But not the IDE? (2)

ChunderDownunder (709234) | more than 2 years ago | (#40268015)

Does VB work under Wine?

Develop under Linux, deploy on Windows. ;-)

Office (0)

Anonymous Coward | more than 2 years ago | (#40267713)

The reason VB6 is still around is that it is functionally identical to VBA, which is closely tied to office.
VB6 works well with COM based applications, whereas .net does not work as well.
VB6/VBA will still be around for as long as office is COM based.

Visual Basic 6 still thrives (4, Funny)

Waldeinburg (737568) | more than 2 years ago | (#40267743)

Because you can make a GUI using Visual Basic and see if you can track an IP address.

Re:Visual Basic 6 still thrives (0)

Anonymous Coward | more than 2 years ago | (#40267991)

Eh? IP address? VB6 GUI?

Re:Visual Basic 6 still thrives (2)

Waldeinburg (737568) | more than 2 years ago | (#40268065)

Re:Visual Basic 6 still thrives (1)

Waldeinburg (737568) | more than 2 years ago | (#40268097)

Which btw is somewhat interesting: Some scriptwriter for CSI wanted to come up with a technical sounding sentence which contains a reference to some programming language, but how many programming languages were part of his vocabulary? At least we can say that VB was.

Re:Visual Basic 6 still thrives (0)

Anonymous Coward | more than 2 years ago | (#40268203)

What do you mean?

VB6 surprising power (3, Interesting)

Tronster (25566) | more than 2 years ago | (#40267745)

VB6 is simple, but there is a surprisingly large amount of power to be tapped from it, if you understand the underlying infrastructure.

Having done some hard core COM [] programming 10 years ago, for a Computer Based Testing "test driver", our team learned we could spend 2 days to get up a "ActiveDoc" in C++ using ATL, and WTL, or we could do the same thing in VB6 within an hour. Considering how fast it was to implement ActiveDocument and custom COM interfaces, I changed my mind on how weak I perceived VB6 was. (Unfortunately many of the VB trained, customer-based implementors of our interface were not as astute, and even in a VB6 environment didn't understand what they needed to do to create a component that would properly talk to the rest of our system.)

Still, knowing how quickly VB6 would let one get up an interface, I was able to help a room mate of mine create a level editor [] for our own rolled version of Zelda. It was a little cumbersome to learn how to read individual bytes of the palette based sprite files, but VB6 had all the power there.

All that said, VB6 should die IMHO. After (C# / VB).NET came out, it became a lot easier to make object dynamically talk to each other and perform byte level manipulation.

Re:VB6 surprising power (2)

kbdd (823155) | more than 2 years ago | (#40267767)

I have developed a few apps in VB 6.0. They work just fine, but it has become difficult to support and install them under Windows 7. They are not commercial products, just used to support development and test of embedded systems via the serial port. They actually started life as QuickBasic 4.5 apps, then were upgraded to VB for DOS, then to VB 6.0. The "basic" functionality of these apps has not changed much, just the fancy UI stuff has been updated, and TCP/IP support was added. Facing the fact that VB 6.0 will not be usable beyond W7 (until this recent announcement), I have been looking at what platform I should move these apps to.

VB.NET was briefly on the radar screen, but it quickly became obvious that it would be a very painful avenue, the conversion process would be just about as hard as if I went with a completely different language.

Ideally, I would like an open source alternative with a reasonable likelihood of still being here 5 years from now, and it is a tough choice.

Extending the life of VB 6.0 will delay the point where I have to make that choice.

Re:VB6 surprising power (0)

Anonymous Coward | more than 2 years ago | (#40268063)

IIRC VB6 was Microsoft's COM-enabled version of Visual Basic. It could do some things, but it made developing COM objects so cumbersome that it hardly seemed worth it. The original COM architecture was fairly sleek and based on the ideas of interface-based programming and OS-brokered components. But the complexity went up by orders of magnitude once they had to support script languages like VB and J#. In came type libraries, dual interfaces, VARIANTs, BSTRs, SAFEARRAYs, and odl. These were not only cumbersome to develop against, but they placed huge restrictions on the data types that could be passed and returned from methods. And you couldn't rely on QueryInterface to switch between interfaces (a big talking point of the original COM), since VB didn't support it. And it had to be single threaded, etc. Ted Pattison wrote a book describing all the limitations. Bottom line is that if you wanted to develop components that could serve VB6 as well as C/C++ client applications, you had to write to a complex and crippled object model.

In response, Microsoft came up with MFC, which was one of the worst piece of shit development tools that ever achieved widespread popularity. Big company managers assumed that if it was being pushed by Microsoft, it must be pretty good. Then a couple of their smarter developers came up with ATL as a replacement - cool, but incomprehensible except when used in a cookbook fashion.

That's true (0)

Anonymous Coward | more than 2 years ago | (#40268151)

I've done MANY "enterprise class" mission critical systems in VB6 (about 32 since 1994 professionally), scaling up to 1++ million lines of code in VB alone (not counting SQL Stored Procs & what-not that go with those) talking "cross-platform" to various database engines (usually IBM DB/2, Oracle, or SQLServer & at times, thru Citrix or Terminal Server as well, which has "caveats" in loops (don't use DoEvents, but rather rely on the API it's based directly on, in Sleep)).

It just works, and with the least failure rates on projects (as opposed to C/C++ ones of the same general nature for information systems).

I agree on ActiveDocuments, because moving "std. VB" projects to it was pretty much a snap using wizards for it too (not always perfect, but didn't mean a lot of tweaking either, IF it was needed @ all), so your apps because "web apps" vs. std. Windows forms ones...


P.S.=> I moved onto Borland Delphi & C++ Builder around 1997 when I saw Delphi 3.0 "knock-the-chocolate" out of BOTH VB5, MSVC++ 5.0, & Java (Symantec version), & BIGTIME (doubled even C++ in both Strings + Math work, which ALL programs do some of no less), it's just BETTER imo & the results showed it in (of all places, a competing language trade-rag's pages) Visual Basic Programmer's Journal Sept./Oct. 1997 issue "INSIDE THE VB5 COMPILER"...

However, I can never say that doing a job in VB (or .NET later) was a "bad move" due to ease-of-use & language features - it works... and gets the job done. I also saw MORE JOBS in Microsoft related IDE work in Visual Studio over that timeframe (1994-current professionally here) than I did for ANY other competing language/vendor too. That's just how it is... management, even though I showed them the article I spoke of, said:

"Microsoft is here today, the big dog - they have the money, they will survive + provide support... will its competing languages like Delphi or C++ Builder from Borland?"

I had to concede THAT, but, from a "business standpoint" point-of-view.

Still, in the end - I would & always HAVE, RATHER use a statically compiled system (meaning "stand-alone" single-exe work IF/when possible, due to less moving parts to account for like runtimes or external libs/activeX-OLEServer object controls above & beyond the std. API libs Microsoft provides that all apps use/depend on for functions (or even classes for them)) - vs. a runtime interpreter driven system, such as VB (or .NET, or JAVA even & to some extent, even MSVC++ because iirc, it's visual control interfaces are lib driven too)

... apk

'First dose for free' and still addicted to it (-1)

Anonymous Coward | more than 2 years ago | (#40267753)

Because children who got it as a 'first dose for free' are still addicted to it. It will take some time to cure this.

Colour Me Not Surprised (1, Insightful)

segedunum (883035) | more than 2 years ago | (#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:Colour Me Not Surprised (3, Informative)

Richard_at_work (517087) | more than 2 years ago | (#40267875)

No one cares about .Net applications

I'm afraid you are completely wrong in that, .Net is a quickly growing market among small to medium businesses (the type of work that I see), and is already widely used in the large business area. VB6 is certainly hanging on well past life support, but that doesn't mean people aren't moving on.

Re:Colour Me Not Surprised (0)

Anonymous Coward | more than 2 years ago | (#40268241)

I wouldn't say "no one in business" would move to windows 8 but I will acknowledge that some would consider it as a factor.

I have moved on to but still haven't migrated all of my commonly used programs. I doubt I will. My vehicle records database still runs through vb6 and I commonly use it.

A lot of people upgrade without considering the ramifications. If Windows 8 didn't support it a lot of misery would soon hit the news shortly after release.

Insult all you want (5, Interesting)

mumblestheclown (569987) | more than 2 years ago | (#40267847)

This "bus driver" has a PhD in computer science and in my weaker days wrote code that still exists in various linux distros. i started a company 15 years ago with some vb apps and, guess what.. the vb6 apps still sell. over $4 million per year with my staff of 5. So, you know, call me a "bus driver", call it a "scripting language", and any other insults you want - I can take it. Or rather, I just wont care.

Re:Insult all you want (3, Interesting)

pnot (96038) | more than 2 years ago | (#40268087)

See also Joel Spolsky [] :

What I wondered was, what happens if you take top-notch C++ programmers who dream in pointers, and let them code in VB. What I discovered at Fog Creek was that they become super-efficient coding machines. The code looks pretty good, it's object-oriented and robust, but you don't waste time using tools that are at a level lower than you need. I've spent years writing code for C++/MFC and years writing code in Visual Basic, and let me tell you, VB is just much, much more productive. Michael and I had a good laugh today when we discovered somebody selling a beta crash-reporting product at $5000 for three months that Michael implemented in CityDesk in two days. (And we actually implemented a good part of ours in C++/ATL). And I also guarantee you that our Visual Basic code in CityDesk looks a lot better than most of the code you find written in macho languages like C++, because we're good programmers, and we write comments, and our variable names are well-chosen, and we do things the simple way, not the clever way, and so forth.

How do you use it? (1)

Snaller (147050) | more than 2 years ago | (#40267967)

I tried to install it on Windows 7 and it didn't work. So i gave up (programming for windows)

Built-in (1)

Impy the Impiuos Imp (442658) | more than 2 years ago | (#40267987)

It's built in to Excel. We use it all the time to generate C code from massive tables of translation and configuration data.

I'd prefer lisp. I could do it through COM links or whatever the kids call it nowadays but it works and is convenient.

A question for the group (1)

jayhawk88 (160512) | more than 2 years ago | (#40267989)

The company I work for has a well-staffed IT shop, but the one thing we are lacking is anyone with real developer experience. We have one woman there who is known as the "database developer", but all her experience comes from Access. Access front-ends to SQL databases, that sort of thing. It works for the most part, but it's frustrating from our perspective when we have to deal with all these Access databases/front ends, and we know things could be so much better.

A few times they've tried to send her to VB training of various kinds, and as the resident SQL "expert" and the one that works most closely with her, I've tried to steer her in the right direction. She's willing, but it's clear at this point she just doesn't have the skillset required to make the leap to "real" developer. This is a state job, however, so just letting someone go for such reasons is a convoluted enough process that it's probably not going to happen so long as she continues to be competent in the Access world she's created for us.

I'm damn tempted to see if I can get a copy of VB6 from MSDN or some other source and throw it in front of her, see what happens. I've got 0 VB experience myself, but from reading the descriptions it does seem like she might be able to embrace it. I've seen the behind the scenes coding/scripting she writes in these Access front-ends, and it really seems like she is doing a lot of what Visual Basic would require, but she just can't retrain her brain to deal with VB10 or whatever.

Is this a mistake? Our needs aren't anything special, just "Go get this SQL data and show it to the user, maybe let them edit it" type stuff. If I had any kind of time I know I could probably teach myself enough VB to do this, and I've been tempted a couple times just to pad the old resume, but it always gets put into the "Yeah, someday" file.

Re:A question for the group (1)

DogDude (805747) | more than 2 years ago | (#40268041)

I'd guess that basic data access and manipulation is what most people use VB6 for (myself included). Just sit her down with a few basic samples, and she can copy and paste the pieces easily. Connect to database. Get data. Write to database. It's all very straightforward. The most difficult thing will probably be her trying to learn SQL if she doesn't know it already.

It's still a hack. (1)

ElmoGonzo (627753) | more than 2 years ago | (#40267999)

Any language that uses a newline as a statement terminator is demented.

Re:It's still a hack. (1)

DogDude (805747) | more than 2 years ago | (#40268019)

It works.

Re:It's still a hack. (0)

Anonymous Coward | more than 2 years ago | (#40268055)

Like Python? Yeah, let's get those guys in on that comment. :)

Re:It's still a hack. (0)

Anonymous Coward | more than 2 years ago | (#40268067)

Why? Most statements are put on a newline anyway, so why be redundant and force the programmer to use an extra character? And it clutters up the code. The better approach is to use a newline and allow for an alternate character to separate multiple statements on one line when the need arises.

Re:It's still a hack. (0)

Anonymous Coward | more than 2 years ago | (#40268121)

I actually liked it, far less typing. Seems more modern to tell one line once in awhile to continue, rather than telling almost every line to terminate.

Re:It's still a hack. (1)

gbjbaanb (229885) | more than 2 years ago | (#40268153)

Any language that uses a newline as a statement terminator is demented.

like python?

VB6 works because it's audience is broader. (1)

Dingbat1967 (988977) | more than 2 years ago | (#40268001)

VB6 won't die because the tool is geared to answer the problem "how do I get people to develop applications to solve problems themselves" and not "how do I make professional developers more productive and happy". VB6 solves a very broad problem whereas most other computer languages, IDEs and frameworks are geared for those who program for a living. And unfortunately, there really is no alternative. The fact that there are a lot of programmers today who grew into the profession who weren't programmers initially is not the point. VB6 is a tool that empowers a much wider audience to do their own thing than do "modern" programming languages.

VB.NET is more of a computer language that was wrapped around the .NET framework to try to "wean" VB programmers off of VB6. It won't work. You don't "get" what VB6 does for people if you think that. And it seems Microsoft simply doesn't get it either.

Lazarus (2)

bjs555 (889176) | more than 2 years ago | (#40268051)

I taught myself VB6 (fool for a teacher?) about ten years ago mainly so I could write small apps and utilites for myself. Combined with Win32 api calls, it's been powerful enough for almost everything I've needed to do. True, my code isn't elegant but it gets the job done.

For a more modern object oriented language I think Lazarus (an open source Delphi clone) is in the same category as VB6. I found it easy to move from VB6 to Lazarus since the IDEs are similar. Lazarus is based on Pascal so some might consider it inelegant but it too gets the job done and the cost sure is right.


Anonymous Coward | more than 2 years ago | (#40268119)

Now, John Lennon. He's living in Hoboken, and works menial jobs (no, he's not a VB6 programmer). He used to own a record store. Check out the paper next time you come through. And, no, you talk funny.

honest answer from a noob (0)

Anonymous Coward | more than 2 years ago | (#40268191)

I'm one of those people that grew up in the 8-bit days and learned some basic back then. When I picked up vb4/5/6 I was able to create working programs with a nice GUI immediately! I have tried many other languages since, but somehow the step is so huge from basic to anything object oriented , I just can't grasp it. I have tried books videos, etc. I'm just too stuck in my way of thinking.
I'll stick with vb6, when I make stuff with .net I get weird problems like the executable won't run from a network drive without giving some strange warning.

Re:honest answer from a noob (0)

Anonymous Coward | more than 2 years ago | (#40268213)

The closest thing to VB6 i ever found was Borland c++ builder, I did bandage to make some small things with that..

Living in a post VB6 world (0)

Anonymous Coward | more than 2 years ago | (#40268227)

Recently I started looking at the Raspberry Pi, with the idea that I might use it to teach my child to program. One of the first questions that arose was "Which Language". I decided that I needed a simple, straight forward language that could also produce GUIs - in essence what I wanted was the equivalent of VB6 for Linux. Why? Well it was simple to learn, easy to produce a simple UI and link them together with some back end code. That was always the strength of VB6. It was a great tool for what it did and somehow Microsoft lost sight of that.

In the end, I went with Python3 and QT4. It has those features (maybe not in quite such an all-in-one package), is free and can be cross platform as well.

Those should be the days (1)

EmperorOfCanada (1332175) | more than 2 years ago | (#40268245)

I loved VB6 and beat it death. For knocking out a quick application it was hard to beat. I long left it behind (at least a decade ago) but when I started developing iOS apps a while back I was so disappointed with the interface builder that it made me angry; they obviously never understood the joys of the VB6. I hate to say it but the whole interface builder was more of a rip off of the later interface in Visual Studio that drove me away from all things Microsoft. Thus in my present apps I don't use interface builder and just use all code building on things such as cocos2d.

As a side note I do love XCode and it seems that the non IB parts of XCode have been kept as separate from IB as possible so that people who want to ignore it can do so with ease.

While VB6 is and should be a historical artifact IDE builders could still learn a thing or two from it. Its key strentgh was that it seemed to know its weaknesses. It did what it did well and beyond that you had to instantly jump to lower level screen interfaces like GDI. Whereas the later .nets made the claim that you could do anything. But the reality was that every project seemed to follow the same cycle. 90% done in under a week and then the next two months was spent fighting with .net as you backtracked out of something it did poorly and then implemented it yourself.

VB6, oh yeah (0)

Anonymous Coward | more than 2 years ago | (#40268259)

I still use it every day. I can do everything I want and need to do with it. That being said - I do have VS 2010 on a test machine and play around with it a little. I know I will have to make the jump at some point. I will see how it goes.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?