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."
Now if only they will end vb.net support ....
That's like asking if there are any nice versions of Hitler.
This is my sig. There are many like it but this one is mine.
Too bad they are abandoning it. Fortunately for me, I'm still using QBASIC for all of my programming! Sassan
I know this will get modded Troll, but if you just look at these 3 simple points, you will see the VB has a lot to offer modern programmers.
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.
If I had tried to do this in C, C++, or even java it would have taken weeks.
2. Visual Basic is more secure as a language
There are NO pointers to worry about and all low level stuff is handled by the windows VBRUN.DLL's. This makes VB applications MORE secure than any other application, because it is physically impossible to get buffer overruns (the cause of 98% of all security problems)
3. You earn more money using VB
Face it - as much as we all like using Linux, there simply are not that many jobs available for C/Linux coders. Most of the jobs are for large corps or government and they almost always go with Visual Basic for the client and Java for the servers.
You shouldnt ignore Visual Basic as a language, and it definitely doesnt make VB coders any less skilled than C coders - if anything, I think we are a little stronger, as we have the courage to admit that we like this 'toy language'
Can anyone explain to me how a F/OSS project implies assurances of continued support while there is demand for said support?
From the petition against Microsoft's decision:
"By providing a new version of a COM-based Visual Basic within the Visual Studio IDE, Microsoft will help maintain the value of its clients' existing code, demonstrate its ongoing commitment to the core Visual Basic language, and greatly simplify the adoption of VB.NET by those that wish to do so."
Supposedly the beefing up of VB was in response to the industrial capabilities of Java. Ironically, if MS alienates enough developer partners by cutting of support for VB 6, those folks may end up heading toward Sun or IBM anyway.
I Want To Believe
MSFT has VBA (VB for Applications) that is being used by many people that I know (Word Processing, Spread Sheets, Geographic Information System, etc). Does the decision to stop supporting VB6 impact VBA?
S
It seems like this would be a good time has for a serious discussion on whether or
not to continue using C for serious programming projects. As I will
explain, I feel that C needs to be retired, much the same way that
Fortran, Cobol and Perl have been. Furthermore, allow me to be so bold
as to suggest a superior replacement to this outdated language.
To give you a little background on this subject, I was recently asked
to develop a client/server project on a Unix platform for a Fortune
500 company. While I've never coded in C before I have coded in VB for
fifteen years, and in Java for over ten, I was stunned to see how
poorly C fared compared to these two, more low-level languages.
C's biggest difficulty, as we all know, is the fact that it is by far
one of the slowest languages in existance, especially when compared to
more modern languages such as Java and C#. Although the reasons for
this are varied, the main reasons seems to be the way C requires a
programmer to laboriously work with chunks of memory.
Requiring a programmer to manipulate blocks of memory is a tedious way
to program. This was satisfactory back in the early days of coding,
but then again, so were punchcards. By using what are called
"pointers" a C programmer is basically requiring the computer to do
three sets of work rather than one. The first time requires the
computer to duplicate whatever is stored in the memory space "pointed
to" by the pointer. The second time requires it to perform the needed
operation on this space. Finally the computer must delete the
duplicate set and set the values of the original accordingly.
Clearly this is a horrendous use of resources and the chief reason why
C is so slow. When one looks at a more modern (and a more serious)
programming language like Java, C# or - even better - Visual Basic
that lacks such archaic coding styles, one will also note a serious
speed increase over C.
So what does this mean for the programming community? I think clearly
that C needs to be abandonded. There are two candidates that would be
a suitable replacement for it. Those are Java and Visual Basic.
Having programmed in both for many years, I believe that VB has the
edge. Not only is it slightly faster than Java its also much easier to
code in. I found C to be confusing, frightening and intimidating with
its non-GUI-based coding style. Furthermore, I like to see the source
code of the projects I work with. Java's source seems to be under the
monopolistic thumb of Sun much the way that GCC is obscured from us by
the marketing people at the FSF. Microsoft's "shared source" under
which Visual Basic is released definately seems to be the most fair
and reasonable of all the licenses in existance, with none of the
harsh restrictions of the BSD license. It also lacks the GPLs
requirement that anything coded with its tools becomes property of the
FSF.
I hope to see a switch from C to VB very soon. I've already spoken
with various luminaries in the C coding world and most are eager to
begin to transition. Having just gotten off the phone with Mr. Alan
Cox, I can say that he is quite thrilled with the speed increases that
will occur when the Linux kernel is completely rewritten in Visual
Basic. Richard Stallman plans to support this, and hopes that the
great Swede himself, Linux Torvaldis, won't object to renaming Linux
to VB/Linux. Although not a C coder himself, I'm told that Slashdot's
very own Admiral Taco will support this on his web site. Finally,
Dennis Ritchie is excited about the switch!
Thank you for your time. Happy coding.
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'll add some points that VB and VB programmers have in their favour:
4. Men tip their hats when they see you on the street. Women curtsie politely. You are recognized as a software engineer and respected as such.
5. You get a "free ice cream" card when you go to Baskin Robbins. Every 6 hole punches on the card gets you a free icecream cone of two scoops!
6. Barbers give you a shave and a haircut for only one bit instead of two.
Just because they declare end-of-life doesn't mean the cd's are going to burst into flames.
"Would it kill you to put down the toilet seat?" -- Maya Angelou
If Microsoft wants to appear serious about having customers develop decent code, pulling them off VB 6 is a good start.
A person becomes a good programmer through education and lots of experience. A good programmer can write good code in virtually any language. (Conversely, a weak programmer can write Visual Basic code in any language.) This cry for "keep our precious VB6" sounds suspiciously like the whining "because C is too hard!"
There is still one valid reason for keeping it alive, however. Many people are still writing code for legacy hardware that isn't capable of running the .NET framework. And to that end, Microsoft's decisions should not automatically mean an increase in Intel's stock price. But wanting Visual Basic to last forever simply because they don't want to learn a better language is not going to gain my sympathy.
John
No, Mono is for replacing Visual Fred.NET, not VB 6, which is a different language entirely.
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.
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.
You might care to look at:
.exes which don't require a magic set of DLLs to be installed correctly.
RealBasic -- a VB-near clone with cross-platform development options that actually work, and which produces standalone
Extreme Basic -- an open source VB-like development tool which looks very promising, being developed by the original developer of RealBasic.
* Mainstream support includes all the support options and programs that customers receive today, such as no-charge incident support, paid incident support, support that is charged on an hourly basis, support for warranty claims, and hotfix support. After mainstream support ends, extended support will be offered for Business and Development software.
** Extended support includes all paid support options and security-related hotfix support that is provided at no charge. Hotfix support that is not security-related requires a separate extended hotfix support contract to be purchased within 90 days after mainstream support ends. Microsoft will not accept requests for warranty support, design changes, or new features during the extended support phase.
Currently, they have a date of Mar 31, 2008 to stop extended support. 10 years for one particular IDE is pretty good.
Excerpted from Title 17, United States Code, Section 106:
Most countries that trade with the United States have something similar in their legal code.
Now if you believe that a company may lawfully customize someone else's all-rights-reserved proprietary software, then it's your turn to provide a reference to the exemption from sections 107 through 121.
Both view points are correct. VB needs to be scrapped BADLY. It is a horrible horrible language. The second problem -- MS *FORCED* people to use VB, people who *KNEW* better, by making it the only way to do certain things (office automation comes to mind). So lots of developers have been forced into a language they didn't like when it suited MS, and the irony of being forced out of it again is deliscious.
The real mistake was making an inadequate langauge/API in the first place, that painted MS into this corner. I suspect some people will defect to open source, and it will radically slow uptake of new MS products which no longer support VB and VBA. Companies are *NOT* going to redevelop hundreds of VB applications because MS wants them to. *HUGE* companies like UPS rely on VB everyday to do their business (I've interviewed there).
Religion is a gateway psychosis. -- Dave Foley
You can develop for Mac, Windows and Linux using REALbasic is very. They have a free Visual Basic project converter tool. Porting from Visual Basic is quite straightforward
-- "At Microsoft, quality is job 1.1" -- PC Magazine, Nov. 1994
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.
Thanks for RTFA. Spreading FUD isn't limited to MS, I see.
VBA and VBScript have nothing to do with Visual Basic 6. Not to mention, just because MS is no longer supporting VB 6, it isn't going to "cease to work" tomorrow.
So what does it mean if they no longer support it. Does it mean that you can't develop in VB6 anymore? Of course not. Does it mean you can't call them up and ask them questions about VB6? I don't know of any developer that would call up Microsoft to ask them a question about VB6. If they have questions, they check out newgroups and mailing lists just like F/OSS developers do.
Really the only thing that will change is that Microsoft will no longer release bug fixes. When was the last time you downloaded a bug fix for VB6 anyway? If you have functioning legacy software that uses VB6 then bug fixes probably aren't needed. If you're going to develop something new, you still have the option of using VB6 or you can use the latest and greatest development tools/language.
I fail to see the difference between this and an F/OSS project that's abandoned by its maintainer, especially those that are waning in their usefulness.
www.joshferguson.org
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.
I'm going to go out on a limb here and guess that you're NOT the CTO of a large and technologically mature corportation.
Searching for replacement software costs time and money. Migrating from an existing product to a new product costs time and money. Rewriting a product from scratch, which will likely be necessary if there's nothing new on the market that meets your requirements at least as well as the old product, costs a LOT of time and money.
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.
Many moons ago, I got called in to put out fires in a project that had a DOS based computer in part of the feedback loop of an industrial cutting machine. If the feedback wasn't fast enough the loop would open and things would break.
The software was written in QBASIC, which had just recently come out. I needed double precision (32 bit) integers for the control loop. QBASIC had this type built-in. Problem was that when I switched to 32 bit integers the program ran about 1,000 times slower and things in the real world got broken.
I couldn't figure it out. After carefully checking and re-checking my code, I did an assembly level debug. Turns out the brainiac billionaires at Microsoft had decided to "save" about 10 minutes of programming time by using floating point double precision for all their 32 bit calculations, even though 32 bit add and subtract were either already part of the machine language instruction set or took just two or three instructions at worst case. Instead, for every math operation the 32 bit values were converted to double precision floats, the calculation was done in floating point and then the answer was converted back to 32 bits. To make matters worse, the hardware didn't have a floating point co-proccessor (because the designer knew that no floating point calculations were needed) so all the floating point stuff was done in software emulation. Of course, there wasn't a word or a warning about this in any of the manuals.
Once I figured out the problem (morons had written the 32 bit integer support) I was able to write my own 32 bit routines in QBASIC that were 100's of times faster than Microsoft's built in routines, even without dipping down into assembly and taking advantage of the carry flag.
Quick Basic indeed! If it were any quicker it would be running backwards.
We don't see the world as it is, we see it as we are.
-- Anais Nin
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.
I know that the parent _must_ be a joke, but I must indulge! ;-)
.NET) all to be SIGNED. This doesn't matter if you're only using integers for (bitwise AND/OR/XOR/NOT) binary operators, but for alot of other instances, I'm sure you can think of several, UNSIGNED integers would be nice biggrin.gif. ... End If with a signed integer. ... } with an unsigned integer
1. VB has the option to enable or disable automatic integer overflows and array index bound checking. In some instances it might seem like a good thing to have these turned on, however, you don't always need to. Lets say for instance, it's all internal, meaning, you know the size of your array, pretty static environment, but it auto checks all this for you. That right there is 'OVERHEAD'! Because in a client for something, you might need to check these things, you might not, but better to check them manually than to needlessly do so automatically for instances when it's not necessary.
2. VB forces a function to be Public (Program Wide) inorder to multi-thread it or even point to it (what limited pointer access VB does have). In C++ I can point to any function, sub routine, public/private/protected/virtual/static/extern, YOU NAME IT! Obviously you can't retrieve the location in RAM to something private from outside of a class without a property, but atleast I can point to a function within a class in C/C++!
3. Along the lines of #2, since VB only supports 'AddressOf' pointing to a function in the rare chance an API might use it, you can't use 'AddressOf' in your own code to 'CALLBACK' to a Sub/Function of your own program (keeping in mind 'AddressOf' only works on 'Module Public' Subs/Functions). There's indirect ways to 'CALLBACK' to a VB sub/function (SetWindowLong) and filtering wMsg(s) sent to that window. However, that requires API, and C/C++ supports 'CALLBACK's natively!
4. VB forces all integers (however many bytes they are 1, 2, 4, possibly even 8 byte integers in
Example: Instead of saying If x 400 Then
I could simply do: if (x > 400) {
How/Why? Simple, normally the binary form of a negative number is 0x80 - 0xFF, or 0x8000 - 0xFFFF, or 0x80000000 - 0xFFFFFFFF. So when the number isn't signed, it's actually alot greater than the highest possible signed positive value.
Example: signed 1 byte integer -128 50 rather than if x 50. Yes I'm aware you can toggle that sign bit, however, why bother if you don't have to in a better language blink.gif?
Since C/C++ don't have built in bound checking on arrays, unsigned counters are very handy! If the lowest value is 0, and all arrays start with index 0, you can 'safely' assume the minimum bound index is 0, thus, you don't have to check your counter for being 'less than 0'. You only have to check 1 bound, the maximum, so your counter doesn't request an index 'out of bounds'.
5. One thing I like about C/C++ is I can define a constant array, even by a custom struct or "User Defined Type" for you VB people. In VB the best you can do is make a string with a delimitive value like a comma "1,2,3,4,5" and once the program starts Split() it tongue.gif.
FireBot mentioned you can use resources in VB! True, that you can, but you still have to use API to retrieve from a resource, and this is all about using only 'standalone' functionality of the languages (I know there are VB functions that retrieve resource information, but even they boil down to API).
6. With C/C++ I can actually use REAL STRINGS! I have a choice of Unicode (2 bytes per character) or ANSI (1 byte per character). In VB it's strictly Unicode, and you have to use this annoying conversion method built into VB to convert Unicode into a "Byte Array". Can we say 'OVERHEAD' yet?
7. There's several APIs VB cannot use, because it'll crash the VB IDE, such as Create Thread. Even if you follow the specs on using it, proper use still crashes the VB IDE...
Let me give you an example of why it's a big deal. I'm going to be abstruse so try and keep up.
Company A, pretty big company, has a simple document management system written in VB 4. VB 4! you exclaim. Yes, VB 4. But it worked well enough. It worked fine, same executable for nearly 7 years.
Now, unfortunately, IT being what it is, new machines are needed every few years - it's impossible to find replacement parts for Pentium 2 machines these days, and that doesn't work well for tax purposes, etc.
Uh oh! New machines come with Windows XP - can't get approval to get Win2k any more. And guess what: The good old VB 4 app won't run under XP.
Company A then gets to decide how to spend a wad of cash rebuilding their little document management app from scratch.
Thanks, Microsoft!
(And yes, this is a real example I've just finished a contract with. Whether or not you think it was foolish of Company A to keep that same app for 7 years - as I did - it was and remains a usable app, if not for forced incompatibilities by your favorite fucking company.)
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