Microsoft Remains Firm On Ending VB6 Support
An anonymous reader submits "CNet reports that
Microsoft is remaining firm an ending support for VB6, despite a petition
and many requests from its developer community.
If only VB were a F/OSS project instead of a proprietary customers could be assured of continued support as long as there was demand.
Are there any good F/OSS implementations of VB out there for customers to migrate to? One can only hope that enlightened groups like
the Agility Alliance would warn about the risks of using such software that can be end-of-lifed even while they're in heavy use."
Why is it always a good thing to be able to fork a software?
Personally, I would rather look for a replacement software than having to install some sort of 'Classic VB Runtime Environment' just to run some legacy products.
What if VB is F/OSS? I don't think businesses would touch any more of it once MS stops supporting it.
Rock that crushes, Paper & Scissors that don't matter.
don't invest developer hours into microsoft products.
Can anyone explain to me how a F/OSS project implies assurances of continued support while there is demand for said support?
One can only hope that enlightened groups like the Agile Alliance would warn about the risks of using such software that can be end-of-lifed even while they're in heavy use.
Do I detect a hint of sass?
Very good point though.
because it is physically impossible to get buffer overruns
That's garbage. Do you really think that MS's VBRUNx.DLL is free of all programming errors? I would argue that VB is less secure because one cannot verify the underlying libraries because they are closed source.
I am a viral sig. Please help me spread.
In the world of enterprise software, "support" includes custom modifications to the software. By law, only the copyright owner may provide modifications to proprietary software. With free software, on the other hand, any company can hire developers to branch the code and make modifications.
My business still develops with the Visual Studio 6 tools and we refuse to switch to the .NET framework because of its large and expensive infrastructure. This is the same company that encourages high school students to become software engineers?? Microsoft..... what total assholes.
If you support Microsoft feel free to mod me down.
Delphi offers these same benefits. Let's face it. The reason VB is so popular is because Microsoft is its mother.
I have built (and sold) many applications which took less than 4 hours to develop - these include a webbrowser, email client, contacts database, file searching tools and a image viewer.
If I had tried to do this in C, C++, or even java it would have taken weeks.
If you honestly think it would take "weeks" to write any of those apps in Java, then maybe it's best you do stick to basic.
What amazes me is that someone actually paid you for any of these apps, since they're all freely available in many different forms already - and probably a lot more robust than your 4 hour VB efforts...
Code, Hardware, stuff like that.
I got started with computers pretty much because of VB. If it wasnt for my strange need to make aol "progs" (addons) then i would never have picked up VB. If i never picked up VB i would never have learned HTML, or PHP. Chances are i wouldnt be all that into hardware modification either. So maybe it doesnt have a huge use in the consumer market but for me it was a great learning tool. Hell i still use it to make quick apps that do tedious tasks for me.
That's what happens when your business depends on the whims of a single vendor. If that vendor decides to be a jerk, then you're screwed.
"If only VB were a F/OSS project instead of a proprietary customers could be assured of continued support as long as there was demand."
Bullshit. If it were a F/OSS project, there would be continued support as long as there was a developer that wanted to support it.
How do I know that VBRUN.DLL is safe? I do not want to depend on something that is closed like that for my software to work properly.
How do I know that BIOS is safe? I do not want to depend on something that is closed like that for my software to work properly.
Even if I have a LinuxBIOS, how do I know that my processor's microcode is safe? I do not want to depend on something that is closed like that for my software to work properly.
Bottom line: No matter how Free your computer's execution environment is, it probably went through at least one not-so-trustable Proprietary code path to get there.
I applaud you for supporting the language you love. I am not a Visual Basic programmer myself, but I know that it has a place in the world, a place that is not filled by a more complex and more formal language. There are things you wouldn't want to write in VB, true, but that doesn't make a language useless. Just like a more conventional scripting language VB allows the creation of tools at minimal programmer expense. Why code up an app from scratch in days when you can do it for a few hours in VB. Especially when the app is light weight or in-house VB can easily outshine other languages. While VB may be coming to an end of it's lifespan it will leave a hole in a programmer's tool box that will eventually need to be filled by something else, something not currently available.
Philosophy.
"1. It is faster to develop an application in VB than any other Language
Microsoft has built in a number of wizards to make building complete application templates with a few clicks. I have built (and sold) many applications which took less than 4 hours to develop - these include a webbrowser, email client, contacts database, file searching tools and a image viewer."
You didn't build anything. This is like me saying I went to Ikea, bought a chest of drawers, screwed on the drawer pulls, and claim that I am a master carpenter and that I built the chest of drawers.
Exaggerate much?
Weren't the financial markets in super-dire-grave danger because of the effects of the supposed Y2K bug? And now, you're saying that the end of support for VB is going to bring financial markets to a grinding halt? Financial markets survived COBOL and Y2K. It'll probably survive this.
Sometimes that's just snow, not the actual sky, falling.
I would argue that VB is less secure because one cannot verify the underlying libraries because they are closed source.
Likewise, I would argue that anything running on a modern microprocessor is less secure because one cannot verify the underlying microcode because it is closed source. Is it even possible to build a commercialized computer from the ground up without including any proprietary software?
Two points:
1) I do not know of a single person of my acquaintance who has verified *any* code *at all* that they were not in some way responsible for (either as author, team leader or independent auditor)
2) if there is an error in one of the dlls, then fixing it fixes the problem across all apps that rely on it. On the other hand, if a programmer is sloppy and produces errors in their own code, you must manually check and fix every single module that they write.
It's official. Most of you are morons.
You know that you will all be moving to the next VB eventually after Microsoft cuts support. Then you'll be faced with this whole thing over again.
Cut loose.
I would sign instead a petition that makes VB rest in peace at last, why oh why did they have to create VB.NET?
And how exactly will [VBA die]? Perhaps the magic fairies will come and break it in the night?
How about all of your clients sending you documents from a newer version of a monopolist's office suite that no longer recognizes Visual Basic for Applications? If you stick with old Microsoft Office, you keep VBA, but you can't open new documents. If you upgrade to new Microsoft Office, you can open new documents, but you lose VBA.
I agree that VB has a lot of advantages and that except for Poo-Pooing as a baby language Open Source Developers should take a lot of its strengths and make their own RAD language. That being said, I will argue your points.
1. It is faster to develop an application in VB than any other Language. It really depends on what you are doing and levels of complexity. I have found for RAD languages Microsoft Visual FoxPro is much more quicker to develop a larger application. But sometimes other languages such as Python or PHP can do things that are real problems in VB and take a long time. But Sience most applications are read from Database and display graphics. VB is good but FoxPro is better.
2. Visual Basic is more secure as a language Well that is assuming that you trust VBRUN.DLL It is possible that there is a way to break that. As well most other higher level languages dont use pointers, and are also secure against buffer overflows. But Buffer Overflows are not the only insecurity. Incorrect input that may run an execute statement could be used to break in. As for security VB is not that great.
3. You earn more money using VB Well it depends how well you can sell your services. It is easy to sell VB Programming because they all know the language and they know people who use it. But if you could sell Java, or other language you probably could get away with programming at a higher rate. But it is a tough sell because there is so much competition that your rates for VB will be lower and it is a RAD language so it usually takes less time to develop so they save more money upfront (But maybe not for TCO)
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
The VB DLL is mostly irrelevant to VB. VB is at its core just a wrapper around COM and any COM object available on the OS. So its not easier to work in VB than VC++ once you understand this fact. You just connect to the objects in a slightly different way. And you are limited
Point is, VB is only quick if what you need can be built by the COM+ (aka ActiveX) blocks on the system already.
Otherwise you are SOL if you try to write core logic in VB, or if any of the blocks have bugs in em cause you cant see the code or nothin...
On your third point, it's actually my experience that increasingly people want Java on the server and a web-based front end, rather than anything that has to be installed on the client. I am currently involved in a project to create an application for a (UK) government agency which is deliberately architected in this way on the client's insistence.
Other than that, I agree that the average C coder is no more (or less) skilled than the average VB coder, and similarly for Java, perl, python, $language. They each have their own little intricacies - in C you have to worry about buffer overflow errors, etc, in Java tuning the JVM to make most appropriate use of RAM for your particular app, tuning the garbage collector's behaviour, and so on.
No language is a silver bullet; no language is so easy as to be foolproof and require zero skill or thought.
Oh, and the earning more money bit isn't true; here in the UK at least there are plenty of very highly paid jobs in financial areas (amongst others) for skilled Java coders, if that's your thing.
It's official. Most of you are morons.
Lets play smack the VB FUD down:) For the record: I've used Visual Basic professionally (complete end to end application work) along with Java, Perl, Python, and C++. Having in depth experience with all of those languages gives me good perspective on this particular debate (I think anyways:) ).
It is faster to develop an application in VB than any other language
Is it REALLY? This really needs to be backed up with research. I would argue that building MEANINGFUL applications would be accomplished much more efficiently in a language such as Ruby or Python (my prototyping language of choice) or even Java. You did not build a web-browser in 4 hours, you merely wrapped an existing one in a new interface. You did not build an e-mail client, you patched together some API's. This same magic is perfectly accomplishable in a number of other languages.
Visual Basic is more secure as a language
How is it more secure then Java or any other similiarly sandboxed language? As has been pointed out, your simply moving the security onus to code completely out of your control produced by a company with a spotty security record.
You earn more money using VB
That's rather situation dependent. I am a technical architect for a Symbian applications company (C++). There are relatively few people in the whole of the United States qualified to do my job and as such I'm compensated quite well. I make far more doing this than I would as a senior VB developer.
Saying that 'they almost always go with Visual Basic for the client and Java for the servers' is absolutely unbeleivable FUD. I've run across more CLI mainframe programs running against COBOL servers than possibly anything. New development seems to be more about web apps (some combination of Java/JSP generally). Visual basic seems to have a rather limited prescence in my experience. YMMV.
VB is a fine tool for what it is designed to do. As a language it leaves quite a bit to be desired. I find the syntax to be rather clumsy and I find that for significantly complex jobs it's simply not the right tool. It's definitely not a be-all-end-all that so many VB zealots like to make it out to be.
Turn s60 photos into awesome videos with mScrapbook for all S60 3rd edition phones!
For points 1,2 and (possibly) 3 see C#
The only reason anyone should be using VB is to maintain existing products. Any new products where VB was considered, should be using C# instead.
C# was thought to be MS's answer to Java. But what it actually did was remove any reason for VB to continue to exist. It wasn't the Java killer. It was the VB killer.
Any coder who can only code in a single lanaguge is a weak coder of no value to a company. At my job I've used at least 5 languages since I started. Times change, languages change. You need to adapt or you'll become obsolete.
I've used VB in the past. I used C# for a project having no knowledge of C# previously and instantly picked it up. I even managed to convert Quadpack from C to C# with little effort while putting up a nice GUI with the amount of ease that I was used to with VB.
VB is dead, switch to C#.
Work Safe Porn
Of course, you could say all the same things about Python with the added bonus of being Free.
So VB is not the language for you. Have a nice day.
*shrug*
"Just because they declare end-of-life doesn't mean the cd's are going to burst into flames."
Indeed. VB6 CDs are safe.
WindowsXP CDs however, will stop working if their authorisation server stops responding.
VB 6's strongest point was not its wonderful wrappers around Windows U/I widgets (which were garbage), nor it's lack of built in threading, nor it's exception handling, nor its ability to subclass windows object (without destabilizing hacks).
.NET goodies.
What made VB shine was it's solid implmenetation of COM. It was far easier to use COM widgets with VB6 than Visual C++, and it actually worked most of the time (unlike Delphi 3, 4 and 5 which suffered from horrid COM implementations and a parent company in constant identity crisis)
Other than the $$$, migrating to VB6 was not bad. Did I have to modify code? Yes. But in return, I got threading, decent exception handling, along with access to other
That being said, though, I do have some apps & libraries that I've left on VB 6. It doesn't particularly bug me that Microsoft isn't actively supporting it. It works well enough as is, and has for a while. And I can continue to add functionality and workarounds easily enough writing COM objects in C++ if I need to.
If you read the hacker FAQ, (no matter what you think about ESR's politics, etc.), it mentions which languages budding CS folks/hackers should learn. It specifically suggested avoiding languages like VB, yet I find that tons of people love VB, and in fact, I was chided at an interview for my current job because I didn't know VB, and only knew "lame" languages, like Python.
This, folks, is why you don't learn and use a closed language. Because when whomever owns the language decides that support is gone for it, you are basically left out in the cold. Of course, this is just one reason, but it is a big reason.
There is also the issue of cross-platform support, among other things. Obviously if your closed language vendor is also a closed OS peddler, then there is going to be tie-in and non-support for other systems.
Anyway, I thought I'd post this because a lot of F/OSS software zealots end up getting told a lot of what they believe is purely philosophical, but in some cases, like this one, it becomes VERY practical.
This is just a classic symptom of using a 4GL-RAD-IDE based language (Powerbuilder would be another example).
While initial development is cheap and quick and you don't need to be a computer scientist to learn to do it... there are maintenance costs down the line. The truth is that all of these companies that want to use tools forever (read 5+ years) should have taken that into account. Or at least adjusted their quality model (IEEE 9126, btw, but why would they look at something like that) to account for it in terms of ROI.
I sympathize with the "developers" who fear losing their jobs, but realistically VB was treated as a silver bullet (Read the old article "No Silver Bullet" to see what I mean):
The flipside of this is that when MS quits supporting it, thats it. Use your tools until we break it with a new patch. These applications were written cheaply and this is the result. This is a classic case of poor software engineering. Oh wait, VB developers don't know much about that (I have worked with a few)...
I know that ten years ago there weren't that many options for this kind of stuff, but too many companies ogled the brochures and decided that life would be easier to go this way (it is RAD-ical with MS). Despite the fact that Smalltalk and other alternatives were available.
BTW, not to be heavy handed, but if you are using VB as a front end for Access and you wrote it less than 5 years ago for a serious application... well that was just a mistake.
Instead of whining about Microsoft, this should teach the world a few things about software:
- End to end solutions are always bad. This was bound to happen, don't blame Microsoft (they screw up enough stuff).
- The industry requires that you keep current. Don't become a one language guy, especially if you don't come from Computer Science.
- Companies don't care or know enough about software engineering to consider maintenance (amongst other things).
If you don't like it... find a new job.Visual Basic not formal? I think not. It's just that it has an IDE that does most of the heavy lifting for you. Decree that VB must be created and edited in vim, and see how fast people go to ruby or python.
There are four variables to consider: the language, the runtime environment, the IDE, and the programmer community.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
I take your point... but this is not the same environment, either. I don't want VB cruftware running in an Admin context on an Internet connected box - just because it's legacy had an API that assumes total DOS-like control of resources.
"Flyin' in just a sweet place,
Never been known to fail..."
Like so many things, the first GUI was MUCH harder to write than the drag and drop method. Modifying existing GUIs and putting in repetitive structures (or generating varying forms on the fly) is now MUCH easier than it would be with the drag and drop.
(There are also "drag and drop" tools for making forms in Python, available through different toolkits, but I've never used them because I found out about them too late!)
It's not wasting time, I'm educating myself.
VBScript and VBA are fine for scripting tasks, which is what office automation is. There's no need to get the Excel gurus of the world to learn C++ or something like that. Most "real" developers script in VBScript or VBA when neccessary and then go back to their real language of choice.
No one's being forced to do anything. Older code will be maintained in VB6 and newer code will be written in something else. Big deal.
Schnapple
I've been programming in BASIC for around 15 years. I don't know why, but during that whole 15 years BASIC has copped flak.
The reasons have changed over the years. Originally, the complaints were that it didn't have variable declarations and encouraged "spaghetti code" through the GOTO command. Variable declarations were added, and SUBs/Functions and even classes/objects were added to the language.
Then there was a complaint that you couldn't make "true executables", so M$ added that option.
Then the complaints were about its lack of providing object inheritance. Now we have that. But the flames continue.
Why?
It's clear that the flames are not due to any particular aspect of the language, since the arguments have changed over time. And so has the language. I can tell you that modern BASIC has almost nothing in common with the original ANSI BASIC except for a few legacy keywords (FOR..NEXT, GOTO, DIM etc). Modern object-oriented computer languages are so similar that I have more than once been reading a bit of code in a magazine article and only realised half way through that it was a different language from VB.
I wonder if other languages get as persistently flamed. I believe the real reason is due to the language's very name: BASIC. I suspect that if the language was instead called "Visual Complex.NET", all of this flaming of the language would cease.
Wrong! Customers could only be assured of continued support as long as there is demand and there are capable developers who are interested in supporting the project.
Where there's demand, there's money to hire an open source programmer to fix things. You didn't think FOSS meant free as in beer, did you?
Just because Microsoft keeps VB working on XP for the next 7+ years doesn't mean it will ever work in Longhorn, just like the fact that the calculator in XP is covered by XP support lifetime doesn't mean the XP calculator will work in Longhorn.
That said, unless the VB DLL is doing some lowlevel stuff it shouldn't be, it should work on Longhorn.
If corporations are people, aren't stockholders guilty of slavery?
MS doesn't support QBASIC anymore either. Hasn't stopped me from continuing to use it. Same with VB. Your apps are still going to run. You will still be able to write stuff. You won't wake up the day after they quit support and be staring at a black screen.
Companies kind of want to keep their software for a long time.
It becomes infrastructure, like light-bulbs. If every few years you had to re-wire your office because "Lightbulb X-Treme v6.0" isn't backwards compatible.
For even a mid-sized company, the cost (direct by paying and indirect through lost productivity and retraining) is a big hassle for many people. And very often the new one-size fits all software drops a lot of the functionality that made the software useful. And it's probably replacing another system which was pulled from a main-frame and onto VB (or whatever) in the first place.
Then they have all of that legacy data for which there is no migration path (in all likelihood), and no real way to access it anymore. That'll probably cost even more.
This is the reason why at large corporations, it is not uncommon to see the same damned mainframe application which has been doing the same damned thing for 20 years -- by now via a terminal emulator and still using curses for an interface, but still chugging along.
This is now about the second or third generation of Microsoft software which has gone this route since I've been watching such things.
I'm hardly surprised companies are reluctant to upgrade. However, I honestly have no idea how you can have something that has advanced as fast as computers and not still have this problem.
Just my 2c CDN. =)
Lost at C:>. Found at C.
does it support the opengl shading language like vertex and pixel shaders
Yes, the latest Java OpenGL libraries do.
i see it supports extensions for opengl 1.5 but to what extent?
Complete support. Including the extensions for NVidia, ATI, GLX, Windows, and Macs.
what about CG for Nvidia or Render Monkey code for ATI?
Yes on CG and OpenGL Shading Language, no on the RenderMonkey. At least, that is, I haven't heard that anyone has added support for it. Does anyone actually USE RenderMonkey? NVidia's having a hard enough time promoting CG with the OpenGL Shading Language out, without ATI pushing its cheap knockoff.
You can always ask the JOGL and LWJGL projects for RenderMonkey support if you simply can't live without it.
what about pointers that you need for A* pathfinding and artificial intelligence?
This makes no sense. AI and A* have both been successfully implemented in Java. I just wrote an A* implementation a month or two ago. Not sure what that has to do with OpenGL.
you cant be serious in considering that Java is a reputable alternative to writing robust recent good quality 3D openGL apps can you?
It's still a pretty immature market, but Wurm Online, Chrome, Xpand Rally, MegaCorps Online, Hockey Challenge and others would take issue with your statement.
But don't take my word for it. See for yourself.
Javascript + Nintendo DSi = DSiCade
One of the things VB's IDE allows is that you can create a window - a form - set controls on it, then you select what events you want to handle, such as typing into a text box or clicking on a checkbox, and VB will hand you the entry point to handle that event with all the parameters set so that all you have to do is whatever special processing you want to do. Do any of these other languages such as Ruby or Python support that level of processing automation built into the IDE used to edit the source code? If they do, that's a different matter. And, with the exception of the 'Ok' button on a form, you can create one with no processing code at all if you don't need it.
Visual Basic provides a tremendous amount of power to anyone who uses it.
I agree on the last sentence, but you can say the exact same thing for [insert your favorite language]. As for the syntax being clumsy I suspect it's no worse than any other 3rd Generation language. And there are some applications where I would not use Basic because it's not the right tool, but I suspect for many applications it will provide an exceptionally good choice as a means to write applications. I believe the Basic language to be no better and no worse than other equivalent high-level languages.Paul Robinson
The lessons of history teach us - if they teach us anything - that nobody learns the lessons that history teaches us.
I don't think the subject of this thread had anything to do with his app per se. I believe his point was that VB makes a lot of programming tasks quicker. Since you feel an app that did all those things could be built in VB by "dropping a few OCX's onto a form," I take it you agree.
The race isn't always to the swift... but that's the way to bet!
This supports most of what you want to do.
you cant be serious in considering that Java is a reputable alternative to writing robust recent good quality 3D openGL apps can you?
Oh, get over it. People said the same thing about C++ several years ago. Back then, no one would have believed that in a few years games like Konami's Metal Gear Solid would be using scripting languages for a lot of their gameplay. Now games are a mixture of several languages - from assembly on up to scripting.
The first commercial game to use Java was Tom Clancy's Politika, and that came out in 1997!
Some commercial games that use Java include:
the benchmarks on this site were for all 800x600? huh? that is so dated. no one writes 3D apps/games using 800x600..and Quake 2?? come on now isnt that a bit outdated?
That's the point. The whole argument is outdated. The language has been capable for years.
Show me on the doll where his noodly appendage touched you.
Which is why a high demand product (Mozilla Firefox) is having problems getting developers.
Uh, what? How's your own grip on reality? Business reality, that is? There's a thing called 'price elasticity', denoting the relationship between price and demand. It is not at all the same for FireFox vs VB.
Is anyone prepared to pay for Firefox? Not very many. How many users would FF have if it costed $50 a copy?
Is anyone prepared to pay for VB? Yes. Very many.
Does FireFox provide critical services to any businesses? Uh, no. A web browser may be critical, but most of them work pretty much equally well.
Does VB provide critical services to any businesses? Yes. Many businesses have legacy VB apps, for which there is no replacement for VB.
So.. how many businesses are prepared to pay for a version of FireFox which will work on their new machines? Probably not very many.
How many businesses are prepared to pay for a version of VB which will work on their new machines? Quite a few. As long as the price of upgrading VB is lower than the price of migrating the application, there is a market.
Ok.. Have I managed to establish to you that there is a market for this service?
Now, given that there is a market, how do you go about providing this service?
1) Buy VB from Microsoft, and continue development
This depends on MS willingness to sell VB. A key question is if they profits from providing support will justify whatever Microsoft wants for the code.
2) Develop your own VB clone.
Even more costly. Same caveat as above.
Now if VB was F/OSS what would the situation be? You would now have the option:
3) Fork the VB codebase and continue development from there.
Now is option 3 more or less expensive than options 1 and 2?
So, there is a market, and there are 2 options for continued proprietary development, and one for continued F/OSS development. The F/OSS has a much lower bar of entry.
You could argue that sales would be lower for the F/OSS product, since it will be available for free. However, in this case the target market is support for business-critical legacy applications. Businesses typically won't leave that to chance. They want guarantees. They want a support contract. This is a proven business model for F/OSS development.
Clear enough?