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.
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?
If only VB were a F/OSS project
oh NO!!. DON'T GIVE THEM ANY IDEAS!!!!
"Victory means exit strategy, and it's important for the President to explain to us what the exit strategy is." G.W.Bush
Pre-.NET Visual Basic was far from the best programming language. Its support for object-oriented programming constructs was half-hearted at best. VB6 was released in 1998; people should be moving on by now, or they should have used a better tool in the first place.
On vit, on code et puis on meurt.
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
For those of you that wish for Microsoft to continue developing classic VB, Sign the Petition! It's too popular a language to just toss aside and break everyones existing code.
Could you be firm on ending development too? I mean, its not like your stuff is getting that much better with time.
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.
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.
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.
I work as a quant in an investment bank, and believe me, huge trades (i'm talking about billion dollar derivative trades) are booked into Excel and rely solely on VB/VBA scripts to function properly day to day.
If VBA ceased to work tomorrow, there may very well be chaos in the financial markets causing some huge operational mistakes and huge losses. You cannot imagine how deeply dependent global banks are to excel and VBA.
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.
From the article:
Roxe noted that customers can purchase support on VB6 for three more years or use credits from an existing support contract for VB6-related incidents. Microsoft already added two years to its initial deadline for cutting off mainstream support, extending it to seven years.
Quality Hosting e3 Servers
.
"A microprocessor... is a terrible thing to waste." --
GeneralEmergency
More like customers would have never gotten any support (outside of newsgroup posts saying RTFM when there is no FM) in the first place.
Delphi offers these same benefits. Let's face it. The reason VB is so popular is because Microsoft is its mother.
This just reminds me of the people who would not let go of Microsoft Windows NT 4 Server at the end of last year...the pattern is always the same, like it or not.
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.
"1. I want to know exactly what is going on in my code. I do not want it generated for me."
So, I gather you don't use a compiler?
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.
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.
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.
It compiles to Linux, Mac, and Windows with no additional configuration. It doesn't need .dlls. You can write C plugins for it. It's not produced by the evil empire
Oh yeah, and it can import VB projects...
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 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.
Who's its Daddy?
.. paranoid crackpot leftover from the days of Amiga.
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.
Unfortunately Borland isn't the way forward either. Delphi 8 shipped as a .NET-only product, and while Delphi 2005 finally shipped with a new Win32 version, many at Borland have said that a move to Win64 isn't in the cards.
.NET version and then you can kiss the native code gen goodbye.
My feeling is that they'll only continue to support the Win32 version until they believe enough people have moved to the
No, the real solution for VB coders looking for native apps and not MSIL crap is to move towards C/C++. Even Microsoft is offering 64-bit versions of their C++ compiler in Whidbey/VS2005 (VS2005 will ship not only with an AMD64 C++ compiler but also with an IA64 (Itanium) C++ compiler; previously all you got was an x86 compiler).
All I know about Bush is I had a good job when Clinton was president.
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.
http://gambas.sourceforge.net/ is a kinda Linux VB replacement.
I've been using a combo of PyGtk+Glade recently. If someone could make an true RAD enviroment out of these, they'd be onto a winner.
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...
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
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*
something not currently available.
Oh, cry me a river. There are at least 2 options out there that effectively fill the gap. M$ EOLing VB6 will just mean people have to jump to VB.NET or Delphi which both provide the RAD prototyping ability, and arguably provide it better. The real issue is the existing code, and in case no one knows this... EOLing VB6 doesn't mean that existing code magically stops running.
Good thing there is REALbasic.
It is almost completely syntax compatible with VB and it has the benefit of compiling for Windows, Mac and Linux. And it even comes with a VB Project Converter to help you along.
There is a strong community of developers and some excellent plugins. Including a database plugin for Valentina which is much more powerful than the built-in database (and than Access).
I learned a lot of basic concepts on it. Then I moved to classic ASP VBScript, then I moved to ASP Jscript. Then to php and I haven't looked back.
The man who trades freedom for security does not deserve nor will he ever receive either. - Benjamin Franklin
This is unfortunately a mindset that extends into many OSS arenas too. Some Linux kernel projects refuse to support any backporting. Of course you *can* do this yourself, but you're on your own.
Many organisations have a large installed base of legacy systems which are doing just fine as they are. Sometimes these folk need a minor software tweak to add a very small feature. It is unrealistic to expect these people to upgrade their entire system or rewrite their application in C# or whatever. Same goes for some kernel projects. Quite a few systems (and embedded products) are based on more mature kernels like, say, 2.4.18. Changing to 2.6.x is not realistic for these people.
Open source is not the answer in itself. Forking brings pain.
Engineering is the art of compromise.
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.
If you don't need to be on the Win32 platform GAMBAS is an awesome replacement for VB. It is a pleasure to use and the development community is very responsive.
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.
Just as a test I just coded an image viewer in Java. Total time: 40 minutes. Number of platforms it can run on: At a minimum, 3 supported platforms. Capabilities: View images as thumbnails, single images (full screen, etc...), rotate, crop, some minor little effects. All of this graphics stuff is hardware accelerated as well because I used Java2d. It is a fully capable image viewer that I put together while watching TV. VB is not any better then any other language. It is crippled, it supports inconsistent coding, it is slow. You can build applications quickly in any language assuming you are knowledgable of that language. Your web browser probably used the IE activex control, what a waste, and the other apps you listed could probably be done each in a half hour to hour in java. Other languages are faster, java also avoids buffer overflows, and other languages don't limit you nearly as much as VB does. Yes I've coded in VB and "grew up" on it, hell didnt we all? But it wasn't until I started coding in C/C++/Java that I realized how limited VB left you. Pointers, btw, are a wonderful thing and you are acting like they are bad. Anyway... in a VB coders head, they usually aren't able to think of anything that they can't do with it so my arguments may not make sense. Regardless, its been shown that the thoughts people think are constrained by their language(i.e. you can't think something you can't express in words, more or less). After spending the time doing significant amounts of coding in the other languages, I wouldn't use VB if you put a gun to my head. Yes other languages have higher learning curves, but its definitly worth it.
Regards,
Steve
A. Microsoft not supporting VB will not make it cease to work. You can keep using it if you like, it just ceases to be thier problem if it doesn't work.
B. Microsoft not supporting VB is like saying "don't do drugs". VB is the crack-cocaine of software engineering. True, it will give you a quick fix, but if you use it continually, you are screwed.
Hikery.net - The best hiking site ever. Made by yours truly.
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
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.
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.
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.
But I don't think I have seen an actual exploit for the Pentium bug in the wild - not to mention a security exploit that would endanger the whole system.
That's because it was worked around so quickly at the OS level. But had the patches not come so quickly, it would have been possible to put F0 0F C7 C8 as the payload of a virus or worm, causing easy denial of service.
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?
MFC, ATL and CRT source all include build scripts / makefiles (just checked) - MFC is the only one I have actually built before (so I absolutely know that one is complete).
All installed with either the compiler or the platform sdk (not sure which) afaik. For example, MFC is in \Program Files\Microsoft Visual Studio\VC98\MFC\SRC for vc6.
Some MSDN licensing does (or did) give rights to modify and distribute-modified MFC libraries, subject to requirements that you install it so it can't conflict with "real" MFC dlls - can't recall the details (it's been a while). Alternatively you can modify and statically link. So in MFC case at least (not sure about crt or atl - never needed to do it) you can fix bug in library, create statically linked version, submit patch to maintainers etc.
I think F/OSS has lots of real advantages. Claiming (eg. further up thread) that F/OSS is better because you can't audit libc on Windows is just plain false - and I don't think making false claims helps F/OSS.
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...
No. YHBT. HAND. :)
Show me on the doll where his noodly appendage touched you.
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.
No, I didn't get the wrong datatype. The datatype I tried to use was called "long" (as you so kindly point out). It was their 32 bit integer which is twice (or double) the size of the standard 16 bit integer. They (Microsoft) implemented their "long" 32 bit integer datatype by converting to and from double precision floats for every operation.
I realize this sounds totally insane. That is why I posted the original anecdote. **sigh**
We don't see the world as it is, we see it as we are.
-- Anais Nin
Your incorrect usage of the word sane is driving me insain.
So? Real programmer don't need direct acceess to pointers.
nothing above 1D arrays
You keep repeating this, but I don't think you know what it means. Java supports 1-nth dimension arrays. However, its method for creating arrays is different from C. Instead of having int[10][5] map into an int[50] space, each level of the array is merely a container for a child array. i.e. int[10][5] is equivalent to:If you really need a true 1D array, then it probably won't kill you to compute (y*width+x).
also allows no freedom for the programmer
Funny, freedom is the reason I switched from C/C++ to Java. While the lack of pointers was mildly annoying, I figured out pretty quickly that Object References work just fine as a replacement. For example, you can construct a BSP tree using node classes that have left and right class references instead of pointers to structures.
then again if you are good at C++ then you dont have memory problems associated with pointers for example and you can take advantage of C++'s power.
Free your mind, and the rest will follow. For example, your attitude might improve. (ducks)
Javascript + Nintendo DSi = DSiCade
First of all, I've done about 7 years of VB programming and 4 of Delphi programming. I work as a developer in a company that uses both languages.
All the advantages you point out in VB are also in Delphi. It has an integrated IDE like VB does. You create software pretty much the same way except you use Pascal instead of Basic.
VB is only better at debugging. You can make changes without having to recompile and restart. But that's it.
Advantages of Delphi over VB:
- Wonderful backwards compatibility. Delphi apps written with Delphi2 can be compiled with Delphi7 without any modifications.
- Small and fast executables.
- The component model is just wonderful. It's truly enjoyable to write own components in Delphi.
- You can write advanced software with Delphi. It lets you dig deeper when you want to. For example: writing multithreading apps.
- Delphi offers much more components than VB6.
Do yourself a favour and try to learn Delphi. You won't regret it.