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.
That I see someone stating on slashdot that VB is in heavy use.
Isn't this mono's purpose?
http://codeus.info
Too bad they are abandoning it. Fortunately for me, I'm still using QBASIC for all of my programming! Sassan
No more VB6?
wait... who gives a shit? VB sucks anyway.
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 you would, please give Timothy a nice round of applause. Why? I have yet to see a faster comeback posted to an anti-oss story than this.
^_^
(FWIW, this is not a dig at daria42 for submitting the initial story.)
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
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.
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
This is a mock auction. Bidder with the highest feature set at the lowest price wins. I'll place first bid:
Liberty BASIC compiler for $50. Do I hear $45?
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.
Lotus (IBM) will be protecting and developing Lotusscript (which is a VB language clone) into version 7 and beyond. And Notes applications from version 3 can still be used with the current version 6 clients and servers.
Could you be firm on ending development too? I mean, its not like your stuff is getting that much better with time.
welcome our new open source, non-variable-declaring overlords.
how will I show off to my h4xx0r friends without my l337 vb6 appz.
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.
VB.NET gives you most of these things as well so I think the only issue really lies in having to maintain legacy projects which have already been built.
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.
customers could be assured of continued support as long as there was demand
Has anyone understood how exactly can this be assured? I mean, if the guys who developed it (even if it is open source) abandon it you are pretty much in the same situation. Support through forums and such is great for simple problems and questions/answers but when it comes to bug fixes or (god forbid!) feature requests, answers like "it will be ready when it is ready" or "go implement it yourself" are abundant.
I am taking into account the fact that VB is simplified on purpose so no VB developer would want to start messing with its source even if it was available.
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.
QBASIC is still my favorite.
Nice and fast.
Of course, my biggest program is only about 500 lines, so my life isn't too difficult.
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.
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.
;)
Then all VB programmers could maintain the program in their free time and it would soon be more powerfull than c++
\me ducks
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
1. I want to know exactly what is going on in my code. I do not want it generated for me.
... work is work ... so I cannot argue as much with this one.
2. I want to know exactly what is going on in my code. 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.
3. Money is not the most important thing. I would rather be happy in my job than be forced to do something that I do not wish to do. On the other hand
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.
now I can go find all those people who said I should learn VB when I was in school, so that I could get one of the many "good jobs" working with it. I am sure you all heard that crap:
"OH, you want to be a programmer? I hear that there are lots of VB jobs! even though I am a useless toolbox that doesn't know anything about anything, I plan to give you advice anyway"
I will find them and and sing my new song:
you said I should
learn about VB
that it would help
find jobs for me
but I said I wouldn't
stoop so LOWWW
I TOLD YOU SO
I TOLD YOU SO
I TOLD YOU SO
Obama is a twitter sock puppet
Well Microsoft want to kill this too. But Visual Fox Pro in my opinion is much better then VB 6 and much easier to program. It is still by Microsoft but it wasn't originally by Microsoft but Microsoft bought them a while back.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
This is a microsoft strategy to rise .NET
We all know that they do always the same, why is people complaining?
If you choose microsoft, you have to live with that, if you don't like microsoft strategies, go for another option.
ajf
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.
You should try a nice Java IDE with a form designing tool, like Netbeans. You'd be supprised how fast you can make a full featured Java GUI application (once you get to used to the new IDE of course, every platform has learning curves, including VB).
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.
As much as I detest the VB language (don't get me started...), it always did have the buest GUI builder. That was until Visual Studio .Net provided an actual usable language (C#) with essentially the same GUI builder.
At this point VB is just C# with shitty syntax.
"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
Dude
.NET (or most newer languages like Python, Perl and Java), you can write much more feature-rich applications than VB could dare to touch, much more quickly.
If you can learn VB6, you can learn VB.NET. This is where MS wants the VB programmers to go, and it ain't hard. In MS's
Your list above is silly, btw. I'd keep that stuff to yourself.
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.
We'll just go to our business and VPs and say, "Hey, IT needs to re-write and redeploy over 50 applications because Microsoft is no longer supporting the technology. Can we have $5,000,000 and halt all current projects until it's done?"
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.
Wow...
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)
But not on VB...
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.
Wise choice. That at least eliminates most SQL injection bugs ;-)
Microsoft wants the developer base (those using VB6) to migrate to .Net (because the migration isn't going as planned). So what is the standard Microsoft way of "encouraging" this?
By killing off the "favored" application, and forcing them to move to the newest one, thus generating more revenue.
This is news?
"I want to know exactly what is going on in my code. I do not want it generated for me."
So do you go over every library you use before using them or do you just write everything from scratch?
everything looks like a nail. And now your hammer is obsolete, though luck!
Seriously, when I meet a programmer that tells me that he only knows how to program in VB, I'll dismiss him as a real programmer. A real programmer should be able to pick up a new language in two weeks, and the basic libraries in a couple of months. Lately, I've been using mostly Java to build some complex inventory systems, but the only book on my desktop is a C++ book to reference some OO concepts (and I study business administration in college, I've never had "real" programming teaching beyond a Pascal course in High School 5 years ago).
please excuse my apathy
This whole discussion on "giving" VB to OSS reminds me of a line from Grumpier Old Men.
Walter Mathau: You couldn't catch crabs from a ten dollar hooker!
Jack Lemon: Oh, how is you sister anyway?
Or maybe this is just me....
"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.
I was thinking the same thing - who would buy this stuff? Ok, maybe a customized contacts app, but I highly doubt anybody would have a use for a custom written web browser - which BTW, how is it possible with any language to write one in 4 hours? I'm sure there are libraries to incorporate the HTML/XML parsing side of things.... but still, 4 hours seems unrealistic.
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.
98% you say, I beg to differ, MY recent scientific studies show that it is actually closer to 98.59%.
Please, show some credability in your statments.
Are there any good F/OSS implementations of VB out there for customers to migrate to?
Gambas
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.
Have you looked into Gambas? It's not VB compatible, but it does give you a syntax like VB. It's also F/OSS. Additionally, pre-.NET VB folks need to move on. VB.NET is not old VB; it's better. So, either pick up VB.NET or C# if you want to continue with Microsoft's supported tools. Otherwise, choose a new development platform. There's always Java or C++. I happen to know that there are great job opportunities for experienced Java or C# folks.
"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.
There are NO pointers to worry about...
Java is another language with this capability, though I'll agree it's not as much of a rapid development language.
it is physically impossible to get buffer overruns
As another person mentioned, you can't trust any piece of software to be 100% bug free.
His point is exaggerated but yours is simply stupid. Do you think all your users do a line-by-line audit of libc every time they upgrade it? Or you, for that matter?
Actually this is considered slow for a Microsoft post; Most of them get Godwin'd a bit faster... especially if one invokes the name of 'the gates' or 'the monkeyboy'.
Damn right.
...no runtime libraries for longhorn!
on the one hand you are promoting the fact that you can create applications from wizards (implying no skill required) and then you say that "it definitely doesnt make VB coders any less skilled than C coders"
can't have your cake and eat it. either vb is easy to develop because the wizards right most of your code, or it promotes skilled programmers who have to know the language inside out. Can't be both
The Romans didn't find algebra very challenging, because X was always 10
"If only VB were a F/OSS project" ... it perhaps wouldn't cause intense feelings of nausea at the possibility of implementing primitive structures like linked-lists or trying to guess which bizzare keyword isnot going to be patented. Honestly, a the OSS world might be better off with Python or at least Python Conversion.
And, it has built in obsolescence so you can continue charging your customers for upgrade after upgrade! Brilliant!!!
You're obscuring the issue by talking about "enterprise software" and judicious use of the word "includes".
In the world of software, "support" includes far more than custom modifications of software.
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...
Highly doubtful. That was one of the arguments Richard Grimes in his last article on .NET. Not a very good argument against .NET, there are certainly better ones. Especially when many apps are still written in C.
how is it possible with any language to write one in 4 hours? I'm sure there are libraries to incorporate the HTML/XML parsing side of things.... but still, 4 hours seems unrealistic.
You embed an IE control into your application. Have a URL bar, back and forward buttons and *boom* you have a web browser. Why would anyone want to use such a thing? I don't know, maybe he added some features that aren't included in other browsers.
I kinda think he was trolling myself, though.
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.
Ha ha ha the jokes on YOU Microsoft! I'm still using VB 5!!! Go ahead and end your support for VB 6 tomorrow for all I care!
Developing a web browser in Java would take several weeks? Oh please. Dude, you just embedded an IE control in your window. Do you really think that's gonna take that long time in Java (or C++)?
Any decent language have API:s making image viewers, email clients, etc. fast to make. Try writing an application where there is no control you can drag and drop in the GUI (which by the way you can do in ANY decent IDE in ANY decent programming language), then get back to me on the greatness of VB.
Anyway, the step separting VB6 from VB.NET is object-orientation basically. I would advise any VB programmer to go to C# instead of VB.NET though (if you must code using MS products).
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.
Try TurboPascal. Its faster. On an 8088 with 9MHz TP programs execute way faster than QBASIC ones. In fact, they have a responsiveness and speed which modern applications on GUIs often lack.
And if that speed is not enough, use inline assembler. Thats faster still.
Meme of the day: I browse "Disable Sigs: Checked". So should you.
When Microsoft does this it means that companies have to redevelop the applications into the new languages which means more programmer jobs. Good for the economy and good for programmers. How is this any different when Oracle stops supporting a database version or a hardware vendor stops producing parts for your server? Let's face it, there is a whole IT market totally based on upgrading servers, programs, etc. It's what keeps people employed.
Timmy! I missed ya, you silly goose! Where ya been, you hunka hunka flaming liberal love?
Mod down people who tell people how to mod in their sigs
There's an IE control that can be hosted in VB (or C# or VB.NET, or even C/C++). Add an address box, a 'Go' button and a few lines of code to your form and you have yourself a web browser. We have hosted the IE control in a project so the user could view web-based reports and we could control it without giving the user full access to IE I guess...
As much as I detest the VB language (don't get me started...), it always did have the buest GUI builder.
Then you haven't tried Cocoa programming for Mac OS X. You can have a nice, robust, good-looking GUI (and your model and controller code will be in Objective C, rather than VB) very easily.
What if VB is F/OSS? I don't think businesses would touch any more of it once MS stops supporting it.
Maybe not for new projects, but I think the problem has to do with maintainence and updates to deployed systems. Doing a full rewrite to support new semantics and/or libraries isn't always feasible.
(S(SKK)(SKK))(S(SKK)(SKK))
You left off the gerund. :-)
(At least I think it's a gerund when you turn a verb into a noun by adder "-er"...)
1. It is faster to develop an application in VB than any other Language
You could have done it just as fast in Delphi and been using a non toy language that is self extensible. VB controls either combos of other VB controls or written in C/C++. True component based developement in Delphi - because you have all the tools you need to create components in Delphi.
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.
For doing the sort of stuff that people use VB, you can use Delphi and not deal with explict pointers - and when you need to crack a hard nut you can use them in your own tool. Plus the pascal style string is less prone to the buffer overrun issue because we of the length is stored at the front of the string instead of implied by a NULL character.
3. You earn more money using VB
There are many VB jobs - but you get paid more if you work in other tools. Server stuff pays more than front end stuff.
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.
If there were demand for VB6, MS would not be cutting support of it. The reason they are cutting support is specifically because there is no demand and therefore no money in it. Especially when there are more solid runtimes, such as a CLR.
Who's its Daddy?
.. paranoid crackpot leftover from the days of Amiga.
I've heard some conflicting reports on what this end of "support" means exactly. Does this mean that Microsoft will no longer help you if you call them up asking for help with a language that a 10-year-old could learn? Or does it mean that Microsoft can now release Windows Updates that completely break VB6 progs? If the former, why would that mean companies have to freeze their codebases just because they have to figure things out themselvs? If the latter, how exactly could you buy support?
Quit your complaining and upgrade to .NET. You probably tell your customers to do the same when it's upgrade time, just in a much nicer manner. VB6 is nothing special anymore, get over it.
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
software that can be end-of-lifed even while they're in heavy use
Read: Micro$oft software.
Happens once, shame on them.
Happens twice?
B-)
A friend will come and bail you out of jail, a true friend will be sitting next to you saying, "damn that was fun!"
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.
Not bullshit, as where there's a demand, there's money, and where there's money, there's a supply. Specifically, if there is a large enough monetary bounty on maintaining a Free compiler compatible with VB, expressed in dollars, then developers will be lining up to maintain it.
His point is exaggerated but yours is simply stupid. Do you think all your users do a line-by-line audit of libc every time they upgrade it? Or you, for that matter?
That, my friend, is the difference between Microsoft's "Trustworthy Computing" and the open source computing model. Microsoft expects you to trust that they are doing things properly and as documented. With open source, you have the ability to look at the source and determine if it is done correctly.
Does everyone check this code? Of course not. People are inherently lazy/too busy/whatever.. BUT the option _IS_ there to do an audit, with Microsoft's code, it simply is NOT available.
don't continue to support crap. eom
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!
Gambas does not try to be compatible with Visual Basic, and will never be.
Then it's just as useless to the original poster as Visual Fred.NET is.
That's the direction I'm going. Unfortunately I find the installer technology for Java a pretty steep learning curve, particularly as a lot of work I do involves MySQL and I have to figure out some reasonable way to ship the classes.
The world's burning. Moped Jesus spotted on I50. Details at 11.
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
It's about time this half-baked tool they call a language disappeared...
This is a little disingenious. VB is a safe platform, not necessarily a secure one. IOW, your argument about pointers is true only in the sense that pointers can be dangerous for your code, because it's easier to screw them up. So the integrity of your code is ensured to a certain extent.
The VB runtime however is another matter. I'm not saying it has exploitable vulnerabilities, but OTOH I can't say it doesn't because applications written with VB are rarely exposed to the world and are rarely in a situation where they can be attacked the same way you have opportunities to attack, say, Perl or Java apps.
I thought MVP was a hard designation to get... is an MVP to Microsoft what a VP is to a bank?
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*
Seriously, give Squeak a chance. It's a Smalltalk-80 implementation that is very friendly to newbie programmers. Use it and learn some basic object-orientation and see what it can do for you.
Then you can move on to basically any modern imperative language.
Squeak website
Oh, if only that were always true. But it's not always allowed, and for good reason.
I've tried to fix an error in a dll once and discovered the application programmer had coded around it. (It was a little endian/big endian byte-ordering problem on a piece of network data.) So when I fixed the bug, the application broke. Was the developer stupid for not filing a bug report asking me to fix the DLL in the first place? Maybe, but he felt he could work with the problem, and he did, making life miserable for everyone later.
The episode really drove home the concept of the entire interface being a contract which includes ALL the behavior, not just the data types. Once you have behavior out there that people are relying on, then you must maintain it, even if it's wrong. Counter-intuitive as all hell that you can't fix a stupid bug, but it happens.
Now, I don't know if VBRUN600.DLL has any bugs that have workarounds like the situation I described, but if it does you can bet that hundreds of those legacy VB 6 programs out there are coded to "take advantage" of them.
And as for "verification" of non-owned code, I've had to go back to Microsoft with a bug in their implementation of the STL. I even sent them a source module that demonstrated the problem. Many people have done so, even though we were simply victims of someone else's bug and in no way responsible for the code. So if nothing else, now you know me :-)
John
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.
I nominate Visual Perl. Any takers on developing that?
The power of perl, the ease of a visual design system and the ability to completely obfuscate your code all come into harmony!!
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.
She never knew him!
Help fight Disney! G-bomb Chicken Little [eleaston.com]
Google doesn't index signatures on Slashdot. Stick it in the main body of your post if you want it indexed.
That's fine, because MVC was dead the moment they stopped writing device drivers inside the event loop.
How many BIOS or Microcode expliots are out there?
BIOS exploit: Any boot sector virus, or the CIH virus that overwrites all data on your boot volume, including the BIOS Parameter Block in the first sector, and tries to erase your motherboard's flash BIOS. If that doesn't count, do you remember the F0 0F microcode bug on the Pentium?
If only VB were a F/OSS project instead of a proprietary
.NET and get ready to be screwed over again in a few years.
if VB were an F/OSS project, the kind of phbs who endorse using it wouldn't. i feel sorry for the VB coders who are going to suffer from microsoft's profiteering, but i feel not at all sorry for the stupid managers who didn't mandate migrating to something less brain-damaged and proprietary a long time ago. now they can go to VC++ or C# or
Sounds like there is going to be demand for a VB-workalike very soon. Some app developers would be happy to drop $50 ($100? $1000? $10000? Maybe even an annual fee?) to keep things running on a supported platform than migrate to the latest one.
;)
Of course anything successful is going to be facing either lawsuits or buyouts from a certain monolith. Sounds like a risky investment.
This is exactly like what Microsoft did with Windows ME:
.NET framework! .NET! .NET! VB is even better now!
Micro$oft: VB6 is great! You can develop applications rapidly!
Programmers: We like! Give us the VB6.
Micro$oft: VB.NET will be even better with the power of the
Programmers: Ooh,
~ pause ~
Micro$oft: Now we've released
Programmers: Wait...VB.NET <> VB at all...it's like VB.NET = C# but VB.NET < C#...
Micro$oft: Yeah, we know. Who wants to use an old, outdated language like VB anyway?
I always thought that the name of VB.Net shouldnt really be VB.net, since the .Net framework is far from basic.
Basic is being able to write a simple database front end in an hour. Or a simple program to search for files in a large directory tree quickly.
VB.Net makes all of these a lot harder. Supposedly VS8 (Whidbey) is supposed to make VB.Net a little more basic, and maybe thats what MS's refusal to not EOL VB6 is rooted in.
The Doormat
If you're not outraged, then you're not paying attention.
2) Copy the menu items from IE that are implemented by the control with little or no work required of the "programmer".
3) ???
4) Profit!
If I still had a copy of VB I could "program" a "webbrowser" in about 10 minutes if I count in a 10 minute smoke break.
The Farewell Tour II
It is faster to develop an application in VB than any other Language
So wrong. Have you heard of labVIEW? Can do just about anything that VB does. and you really don't have to know jack about programming to get started.
http://www.ni.com
You selectively leave chose not to emphasize the "and to authorize" portion of the statute
I de-emphasized it for a reason: Microsoft has stated publicly that it would not grant such authorization for any price less than half the company's market capitalization.
let's reword your original post: By law, only those the copyright owner permits may provide modifications to proprietary software.
True, but the law does not require the copyright owner to grant such permission to anybody. Do you seriously think Microsoft would be willing to outsource maintenance of VB6, or do you think Microsoft would rather put an "EOL" (support moratorium) on VB6 in favor of selling more copies of Visual Fred.NET?
That's funny about their GUI builder. Because I've used the QT Designer and it destroys VB's visual form creation. And I find it impossible to believe that QT is alone in that respect, or that it is even necessarily the best out there.
The Farewell Tour II
Funniest thing I've seen on Slashdot in a lonnnnnng time.
-- Terry
... First slashdotters rant about how evil Visual Basic is because of security exploits... then it's horrible that it's going away...
That's not writing a web browser. That's just embedding IE in your app as a component.
the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff
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).
Arrrgh! It's good riddance, not good riddens!
In related news, Microsoft today announced the language that will be replacing Visual Basic:
"Our new, hybrid, sixth-generation language combines all the raw power and scalability of Visual Basic with the elegance and usability of Visual C++.
It's called Visual Seasick, and we plan to ship it by end of year."
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
What code is going to break?
It's possible that the runtime library used by applications compiled with Visual Basic will break when you attempt to run it on a new computer with a new pre-installed operating system once your old computer's moving parts wear out. Microsoft has already announced dropping support for MS-DOS and Windows 3.1 applications in Windows 64; could VB applications be next?
I am Alexander the Great, you insenstive clod!
Maybe I've been programming too long, but I'm sure there are many many other programmers out there that will agree with what I'm about to say.
Sometimes and IDE isn't always best, which, of course, you're forced to use with VB. As far as I know and care, anyway. But with GTK/Tkinter and wxWindows with Python, Perl, PHP, C/C++, etc. it has gotten a lot quicker for me than dragging and dropping controls around to just code the GUI itself.
I can bang out a simple GUI in Python and Tkinter as fast as your everyday VB user can design a GUI by dragging and dropping. I mean, it's gotten that simple. A few lines of code and you've got a nice little text editor. And it's a bit more customizable because there's no snapping to a grid and the like.
Even in C/C++, you can use wxWindows and whip up GUIs before you can says "Visual C++." And if you've used wxPython, you can probably use wxWindows.
Then again I could just be a codehead. That's the word of the day. Codehead. And big-time sorry if this double posted. A PEBKAC relapse.
Your ad here.
This will certainly not be a popular move on Microsoft's part, especially in India, but it is probably for the best in the long run. I cannot think of one serious Computer Science program in the United States that teaches the introductory programming courses in Visual Basic. That is not to say that VB6 does not have it uses (VB.NET is really a different language now with first class support for objects, inheritance, polymorphism, and threads), but all to often it is used in entirely inappropriate development scenarios resulting in poor performance and scalability or worse. I have seen VB solutions that are the equivalent of hooking up a tractor trailer to your Honda civic and then wondering why the clutch just blew out when you tried to tow it. Additionally, poor design, indeterminate runtime types, and sloppy coding can make even a moderately sized VB project difficult to debug and a serious pain to modify or maintain. I once saw a VB source file where a large statically declared array was being passed by value between functions, resulting in several unnecessary copies, and Bubble Sorted to maintain order on inserts. Some may argue that this is not the fault of the language, but it has been my experience that quick and dirty is the rule when it comes to VB code rather than the exception.
Apparently, no one noticed that VBRUN went away at Version 5, which generated object code.
Again, how exactly will this happen? The magic fairies again?
Easy. Uninstall the office suite, and the uninstalled VBA bindings are gone with it. Install the new office suite, and it doesn't come with VBA bindings. Or don't upgrade, and you won't be able to edit documents in the new format.
*cough*REALBasic*cough*
Started playing with this a couple of months back, and its very VB-like with the advantages it portable to *nix and Mac.
Add to this ExtremeBasic is coming along, and you already have one alternative, with a second on the way, to VB.
If you won't pay $85/month for broadband
OK, try 4.5 figures ($3200/yr) if you want to get all specific about orders of magnitude.
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.
"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."
This is somewhat overstated. All OSS guarantees is that you could hire your own support team, if all else fails. There's no guarantee that anyone will come along and support some software project just because there is some demand.
Vote for Pedro
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.
for VB6 programmers everywhere. Learn the new language, become a consultant and charge big bucks to migrate code for companies.
Think of it as Y2K for VB programmers. You remember how much money consultants made back then?
"I'd rather be a lightning rod than a seismometer." -Ken Kesey
Sun should open source their Chillisoft acquisitions, which include a fully function VB runtime environment, and migrate everyone using Classic ASP and Classic VB onto the newly open platform.
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.
Um, what happens if there is noone who wants to support it? Noone who gives a rats about it, even if people are still using it.
Trust me, from most of the VB6ers I know, less than 0.001% of them would be capable of actually reading the source to the runtime, let alone maintin it.
Why not ask them to FOSS it instead? They are supposedly opening up tons of code, why not VB?
I would have thought that given the demand, Microsoft would have begin to charge and then raise the price of support in order to kill off demand. Milking the customer of every penny. You want to stay with an old solution and want us to support it? Sure, pay me more! Then eventually people would move to the newer cheaper version of the software. The customers get what they want, continued support; and Microsoft get what they want, money and people to move to new products.
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.
After getting screwed over by writing an application in VB6, I'm sure as hell not rewriting it into VB7. I'm going to write it in something that will likely be around years from now and still supported. And on the plus side, it'll be multi-platform. I can't believe all the people who not only got screwed over by MS with VB6, but then turned around and did all the work again in another proprietary MS product. How many times do you have to get burned before you learn?
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.
Visual basic has the single worst interface I have ever had the misfortune of using. Boa constructor is better for christ's sake, and I write my python GUI apps without it because its so bad.
at the risk of missing the point of the post or being overly obvious i thought that it would be worth mentioning the following link:
http://www.bloodshed.net/dev/index.html
"Bloodshed Dev-C++ is a full-featured Integrated Development
Environment (IDE) for the C/C++ programming language. It uses
Mingw port of GCC (GNU Compiler Collection) as its compiler.
It creates native Win32 executables, either console or GUI.
Dev-C++ can also be used in combination with Cygwin.
Dev-C++ is Free Software (also referred as Open Source), and
is written in Delphi (yes I know the irony)."
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.
IANAP, but I've taken a few Visual Basic classes and I wonder why there isn't something similar in the open source world. Maybe there is and I don't know about it.
Visual Basic is nice because you can create GUI applications in no time flat using existing libraries, controls and so forth (sounds familiar to some I'm sure).
What I would give to be able to tap into a world of GPL'd libraries and create custom applications easily. Yeah, act as if I'm an idiot and design around that....
Get your Unix fortune now!
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
Three words...
I'm a signature virus. Please copy me to your signature so I can replicate.
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.I still use Turbo Pascal for quick DOS hacks.
Yes, there still is a need out there for an app that's less that 400k in size.
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.
The thing that I find to be the most amusing about this story is the fact that a very high number of Computer Science departments taught VB6 in their program. The students at those colleges didn't have much choice, they had to pick whatever was in their class catalog.
I'd suggest that colleges should be more deliberate over what they choose to teach. Alumni at these colleges should feel a little shorthanded.
Brandon Petersen
Alternatives to VB?
Etch-a-sketch?
Felt-tip pens and some paper?
Cuddly toy?
I can audit MS libc (or MFC for that matter) just as easily as Linux libc.
Why ? Because MS provide the source. Not with all the freedoms that F/OSS gives you, but the code, and the option to audit absolutely _IS_ available. Does everyone check this (before commenting) ? Of course not. People are inherently lazy/too busy/whatever..
Over the years I have traced several bugs in MS libraries - and then worked around them in the app. On Linux I could of course fix the bug in the library, which is great in theory - but would I require users to install my fixed libc ?, would I wait months for it to get fixed in distributions ? would I static link my own libc (and perhaps prevent other, eg. security, libc fixes propagating to my app) ? or would I work around it in the app - exactly as I would on windows ?
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.
one thing is for sure.. Java is SLOW when working with writing games using openGL, the very fact that it doesnt do multi-dimensional arrays, pointers etc etc and has only minimal support for 3D graphics and buggy at best. C++(C if you are afraid of OOP) is powerful if used correctly and usable across a whole spectrum of software. Visual Basic also is not a game writing/3D graphics platform and not really a good choice overall, good for short applications but once you get into large applications, specifically OPengl/DirectX software/games etc etc it becomes even more tedious than the parent posts relays about C.
Don't just knock this guy, he's shit hot!
I want to hire him!
Tell ya what, I'll give him $3000 dollars a day (but only for 2 weeks... which should be ample time).
I'd like him to produce a fully fault-tolerant pre-emptive multi-tasking "real-time" UNIX-like operating system, with a gorgeous Apple-beating GUI.
Oh yeh, bang in full compatibility with every existing CPU architecture / alternative OS as well on the last couple of coding days if you can.
Don't forget the future-proof (can work out codec formats, just by analysing the input files) media player and 4D (!) sound system... I reckon that's just half a days effort
Get back to me - and send me your PayPal details...
Umm.. Use an embedded db, perhaps?
HSQLDB, Derby (Cloudscape), McKoi..
If they are going to kill VB6 may as well take the red headed stepchild (MS Access) with it. Then we can all celebrate and live life in peace.
Just because the source is available doesn't guarantee that somebody _will_ work on it. It just guarantees that someone _could_ work on it.
And just because you use it doesn't mean you could maintain it yourself. I bet a lot of you use GCC but don't have a clue as to how to write a compiler.
How do i know my open kernel is safe...
Im sure you go thru and audit EVERY line of code of EVERY piece of 'open' software you use..
Give me a break. you are still having to trust others..
---- Booth was a patriot ----
How unfortunate. Borland had a badass compiler with the old venerable Turbo C 3.0. Then they dropped the soap like a skinny guy in prison and it was all over. Why? Does anyone know what happened? Did they get taken over by bad management?
On a similar note, I remember a really neat contest in DDJ a LONG time ago. Al Stevens had a game of life contest and whoever could accurately generate N generations the quickest without modifying the VGA code, won. There were two winners, although that can be disputed. One was a guy from Germany who managed to wrap his code IN the VGA code (which was actually cheating, but Al gave him a mention because it was very innovative). The other winner was a compiler guy from Borland named DAve Something. He managed to write a program that generated a new assembler program based on the initial data and number of generations requested. I call that talent (this was i386 era chips, IIRC, so things like cache misses and instruction parallelization weren't on the table yet), where did it go?
Slashdot is proof that Sturgeon's Law applies to mankind.
Back in 1996, IBM released a competitor to VB on Windows that they called "Visual Age for Basic." VAB was a fairly good tool and received good reviews. Woe to the hapless developers who bought into it, though, because IBM suddenly dumped it so hard and so quickly a couple of years later that today you can find nary a mention of it on ibm.com and IBM will not even replace media for it. VAB was sophisticated cross-platform product that IBM obviously spent a lot of money and time developing and yet they ultimately tossed it away like it was old fish.
Proprietary RAD tools like VB and VAB are relatively simple and quick to use, as well as powerful, but they are like crack in that once you start using them, you cannot stop and their corporate owners then own you.
2. I want to know exactly what is going on in my code. 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.
So, do you know what is going on in all those MFC42x.dll, gdi*.dll, etc.?
Sorry, this is a pretty soft argument.
Gambas looks promising, although granted it seems to be linux only... and alas, it's not a Visual Basic clone. Actually - maybe that's a good thing. http://gambas.sourceforge.net/
Does aybody know if this includes vbs too?
I think VB is a great tool for teaching people GUI design since it practically takes no programming at all.
Your CPU is not doing anything else, at least do something.
"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."
Who exactly would be supporting it? Spend some time rooting through the thousands of F/OSS projects that haven't been updated in years and you'll realize that F/OSS != supported, unless the customer plans to do the support himself by hiring programmers to keep it going, which is not something most VB customers are going to bother with.
All of these reasons are why I use C#
It's all the good stuff from VB with a C-style syntax, a far superior class library, better performance, etc, etc, etc
http://brandonbloom.name
Where is this source? I was under the impression that *at best* you get a subset of the source. So is it possible to fix the bug, recompile the component and staticly link on Windows?
.. sometimes those machines ONLY run that software) so fixing issues in the libraries (if it occurs) may be a valid option.
On Linux fixing the bug in the library IS an option. Create a staticly linked version, submit the patch to the maintainers, they push it out the next go around and depending on if the system has it at compile time, it will either use the static version or link to the system library. Seems simple enough.
For quite a lot of software, it is used in a controlled environment (set number of machines
Sure, if you need utmost compatibility with other systems, you could submit the fix and then develop a work around.
"Even Microsoft"? If you were surprised that MS was shipping a 64-bit C++ compiler, you have problems my friend. I'm pretty sure the Windows Platform SDK had a compiler that targeted IA64 and MS needs something to build its own apps for AMD64 so they have a x64 compatible compiler too! Oh am I surprised by that development!
(Score:5, Insightful)
you wrote user interfaces for a webbrowser, an email client, image viewer and a contacts database. making your applications suffer from holes in mshtml and the image libraries flaws as well.
the point 3. is dying isn't it? isn't that the whole point of bitching about vb6 EOL?
yes, just using vb for something doesn't make you unskilled. but not knowing any other language DOES make you unskilled. and if vb is all you ever did, and you really think it magically helps you from all kinds of security holes, then there's pretty good chances that you'll introduce some security holes which are not just programming syntax/checks mistakes, but program _design_ mistakes- trusting too much the client or whatever.
now here's a point for you to ponder: would you have written an entire full webbrowser in visualbasic(without using mshtml or some other html rendering lib to do the hard work)? would it have been feasible? probably not, still wondering why it's dissed of not being a 'real' programming language?
and you sure like 'trolltalk' a lot if you're not trolling(that's for mods. it's easy enough to check guys recent posting history).
world was created 5 seconds before this post as it is.
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.
what is a ridden, anyway?
Mongrel News all the news that fits and froths
The moral of the story is that Bill Gates is the grim reaper of software, the world's best-known mortician, Dr. Death in the software world.
This is all about forcibly moving VB programmers to
If a product isn't successful, find some way to control people, so they buy it anyway. This is the marketing philosophy of someone who has more money than he knows how to handle.
In other words, you put "wrote a web browser" by launching internet explorer. Fantastic. I've got you beat, I wrote a 3D multimillion selling online game with java in 17 minutes (10 of which was spent on the toilet). My secret is, I launch Unreal Tournament via process.execute(...).
Go Microsoft!!!
(OK I've said that before many times, but this is the first time I say it without the word AWAY in between).
Go hug some trees.
It's all part of a larger Plan: "Microsoft has disclosed plans to discontinue all smaller versions of their chicken dinners. Future releases will only be in the larger family size. Excess chicken may be stored for future use, but must be saved only in Microsoft approved packaging."
Do you want to be a dog on a leash? Then buy software from people who are so rich they don't have to care.
That made my day!
XML is like violence. If it doesn't solve the problem, use more.
so much wouldn't go over your head.
I am glad it wouldn't happen to Java...Wait a minute? Java is not OSS, is it? So Sun could just stop supporting it? Even worse, can start charging the use...
People get real!! Take tour at source forge, it looks like a phantom city, so many abandoned projects...But, great a have the source code, so a can hire hundreds of programmers, become a software company and support my own OS, Email server, IDE, CRM, etc.
Please, not a anonymous coward...a lazy son of beach, maybe.
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.
- physically impossible to get buffer overruns
"physically impossible"? How the fuck is it "physically impossible" for code to do anything, on a general-purpose architecture? Certainly nothing to do with buffer overflows, the only "physically impossible" I can think of would be NX/DEP, and that has nothing to do with VB.Stop speaking out your ass, please, and go back to your toy language. Leave the rest of us the fuck alone, troll.
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...
So now tens of thousands of VB viruses would need to be rewritten into C# - gee, what a waste.
antonyms see Liberal
Is Java really that bad for 3D? While I haven't seen much 3D done in Java, most of the time I came away surprised by the performance not sucking.
Everything will be taken away from you.
I still run dos batch files I wrote on a DOS 5.0 system
Of course you can run shell scripts from DOS 5 in Windows Command Prompt because Microsoft still supports Windows Command Prompt. Likewise with Bourne shell scripts on GNU/Linux, which uses Bash. However, compatibility with binary programs for MS-DOS and Windows 3.1 is a completely different animal, and Microsoft has announced plans to EOL the MS-DOS and Windows 3.1 virtual machines entirely in Windows 64.
1. It is faster to develop an application in VB than any other Language
.net jobs today too. I've seen very few that want just VB..or even mention vb. and I just finished a job search.
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.
Bah. Its easy to develop a web browser if you reference the 'web browser' ocx control. Same goes for the rest. Speed of development is an overrated attribute. I'm sure you're slapped together VB code can't be easiler enhanced either.
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)
You can get the same benefits in C#. Or Java.
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.
Huh? I've seen lots more jobs in C / C++ (not necessarly linux). Its either that or VBScript (for web apps) or lots of
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'
Good programmers can write good code in vb. Its tougher then other languages, b/c vb knee-caps you along the way. however, there's a large portion of 'vb only' programmers that rapidly produce exteremely crappy code...that vb likes to make so easy.
Honestly, it shouldn't be easy to be a programmer, you should have to know what you're doing...vb removes that requirement, to the detriment of software development everywhere. Again, just because you can slap together a program quickly doesn't mean you should.
Whats lacking from software development is the reconition that its actually engineering. Once development firms realize that (and their clients realize engineering is expensive) then we'll have less crap software.
When did anything said in this thread pertain directly or specifically to Microsoft?
<TITLE>Microsoft Remains Firm On Ending VB6 Support</TITLE>
The point is that while anybody can be paid to pick up and improve a given FLOSS program, only Microsoft or parties authorized by Microsoft can improve a Microsoft program, and Microsoft has every privilege under current copyright law to refuse to allow anybody else to provide modifications.
"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."
VB does for programming what "Do it yourself brain surgery" kits do for medicine.
Seriously why do people don't get all confused, and think they can do surgery, or drive with the skill of a Nascar driver? But when it comes to programming and VB they're suddenly skilled programmers?
I think so. Still after 30 years, 70% of all software development is done in it. But why is that? Large commercial support? ISO and ANSI standards? I sure love it as C++ is my prefered coding platform.
http://cm.bell-labs.com/cm/cs/who/dmr/chist.html
yeah Java IS that bad for 3D. i know some will say they have stuff written for Java in 3D but you have to go way out of your way for it to work, it doesn't encapsulate the new 3D graphics implementations out there, i.e. openGL shading language, CG etc etc. yeah you can draw a 3D cube but even that is cumbersome, too much work and not really feasible. that being said to Java's defense Java was written for web based applications not 3D -- 3D != 3Dcube or spinning sphere...3D as in intensive real world 3D graphics solutions and games -- which is what i initially wrote about -- C++ is the choice, so i say dont do away with C++. leave java for web apps, C++ for high intensive applications, not even 3D apps, just big complex programs&software that require encapsulation, memory management, inheritance etc etc. VB?? well.. i dunno its good for short applications like i mentioned but not many of those really needed these days.
But bugs aren't part of the interface being a contract.
while that programmer worked around it, he should have also anticipated that the bug may eventually be fixed....and have code to check if the workaround is needed.
You should NEVER rely on a bug being in components outside your control. If possible you should get on the component maker to fix and ship a fixed version of the component to you...at teh very least you can 'test' of the bug is there or not...and work around it only if you find its not fixed.
I have. Not much, but once in a while I will look at a bit of source code.
The problem is good audits are hard to do. I've found a couple problems. However I can recall reading a tutorial on how to spot security holes, reading code with a hole of a type, and not being able to find it! Audits are hard work. However they are still worth doing. Even if you don't catch the security holes, you can often see other things to fix. Right now at work I'm refactoring some code that is 95% cut and paste. You don't have to be nearly as smart to see the problem, but by fixing it I'm ensuring that if there is a security hole that I can fix it in all the different classes that would have it at once.
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.
:-)
That's the point. You can leverage code that someone else has written. You can build upon it and make something better.
There are relatively few people in the whole of the United States qualified to do my job
I think you proved the parent's point. VB jobs are easy to come by.
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
That's a fair point. But that's also true anytime your relying on external libraries.
mainframe programs running against COBOL
Mainframes are a totally different world. (I don't get me started on how much I hate COBOL.
Coder's Stone: The programming language quick ref for iPad
Last year linux kernels in the 2.0, 2.2, 2.4, and 2.6 series ALL got a new release. 2.4 and 2.6 are commonly in use, but someone found 2.0 and 2.2 interesting enough to bother with a new release even though few people care.
In the world of commercial software anything with as few users as the 2.0 kernel would be dropped. Microsoft doesn't support Windows 98 anymore, even though Windows 98 has more users than the 2.0 kernel ever had. No amount of money will get you support for Windows 98.
While I don't want to give any credibility to this guy, come on - that isn't fair at all.
.NET without using GDI+? Would you write a Python web browser with out using anything except int, float, double, etc??
Would you write on in Java without using Java2D? Would you write one in
Come on. A language provides APIs. Without a libarary behind it any language truly sucks.
But i do agree with your other points. Just had to make this one.
"Ideas without action are worthless."
This was actually a assignment in my high school programming course. Totally lame.
Dick Laurent is dead.
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.
For that matter, it would be nice if the F/OSS version didn't have the atrocious VB6 syntax, slowness, overdesign and general lameness about it....
Nice troll. I give it an 8
No. YHBT. HAND. :)
Show me on the doll where his noodly appendage touched you.
This is the bestlanguageever, but i'm not sure why, maybe it has something to do with these pills.
Dick Laurent is dead.
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.
Real BAsic by Real Software is a good choice. They offer a thriving developers community. The toolset is extensible, and coolest of all they support Windows, Macintosh and Linux executable creation from a common source.
- Tjp
I am in wallow with my inner money grubbing capitalistic pig. ... Oink!
Actually, for speed of development for business applications, I'd rather go with Clarion. Clarion also lets you generate whole applications with a few clicks, but the templates mechanism that makes this possible is open, and you can add your own template code to automate things that you find yourself doing often. This is better than 'wizards'. I just wish they would port the environment to Linux.
try writing opengl games in Ada! You
will find it very unique!
The applications were custom. What you get at Ikea is not. Sorry, your analogy doesn't work.
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.
It sounds like he was saying that his applications included a web browser, email client, contacts database, file searching tools, and an image viewer. Not that his applications were a web browser, email client, contacts database, file searching tools, and an image viewer.
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...
People need custom software all of the time. Sure, they could use 5 different open source programs, and write several small scripts to do various tasks for them. Although, sometimes it's easier to just have 1 app that does it all. Then if you're going to go with 1 app, and you don't need the speed of a low level programming language, sometimes it's more appealing to save time and money by having it developed quickly in a language that can be easily maintained. (So not only does it save you time and money now, but when you want to add a feature, it will cost you much less and get done quicker)
Microsoft != Unshaven smelly unwashed hippies
Microsoft != F/OSS
therefore,
F/OSS == Unshaven smelly unwashed hippies
Well, that just proves what we already knew
>1. It is faster to develop an application in VB than any other Language
Piss poor programs prehaps. Or proof of concept/demoes. That is all VB is good for.
You should never use a Wizard unless you can explain in detail what code it just made.
That said you can get wizards for other languages too. It doesn't make a product better.
I can churn out a web Service or EJB application in less then 4 hours using say WSAD wizards. Doesn't mean I should.
its been shown that the thoughts people think are constrained by their language
Absolutely, and of course applies to speaking different languages.
I sense a type of anguish among VB coders because of this EOL. It would do them good if they try to remember how they first learned VB. Probably a "Learn X in 24 hrs" book and a little bit of playing around opened the door to a few simple projects.
It is now the time to do that again, but now with a little more background information. But beware of trying to "VBize" everything. You will need to ignore VB in order to accept new models and paradigms.
And best of luck to all VB6 coders.
From how he described his app all he did was drop a few OCX's onto a form. Hardly coding.
You need to look at the XP Compatibility Toolkit. I have not found a DOS or Windows program that won't run under XP once the compatibility settings are correct. IMO you're just being lazy and would rather post a bitch on /. than try out the many compatibility settings!-)
You know what? I agree. I use whatever language I need to, to get the job done, ASP, PHP, Perl, VB.NEt or VB6 but when I can, I keep coming back to VB 6 because I can knock out the solution to my problem very, very quickly.
I'll admit I'm not a great programmer, probably not even a good programmer - hell, I'm not even A programmer. But that doesn't change the fact that I have some pretty cool and decent sized apps running around this very large organistion that live and function very nicely, from VB6 code.
I'd love to be a better programmer in the eyes of a bunch of other people I've never met and never will but for now, I like the idea of just solving our problems as efficiently as possible.
AS for security - that's also my job and I take it very seriously (although unfortunately none of my bosses do). Could someone exploit my VB6 code? Probably but the fact is it only runs on the desktops of people who can already do a lot of damage if they so desired anyway and they're all probably on IE6, so my little code to turn their Excel file into a nicer report or something isn't the big concern here.
>The reason VB is so popular is because Microsoft is its mother.
>>Who's its Daddy?
>>>She never knew him!
Thanks guys, I bumped my drink from laughing so hard.
Microsoft has built in a number of wizards to make building complete application templates with a few clicks.
Technically speaking, that just means that Microsoft's IDE is better, not the language. With enough effort, someone could write an Eclipse plug-in that would give you drag-and-drop Java browsers. It's got nothing at all to do with language superiority.
If you mean that VB's IDE is better, that's a separate debatable point unto itself.
This post expresses my opinion, not that of my employer. And yes, IAAL.
Actually some of the badly written stuff probably took far longer to write, and is probably far worse than anything the previous poster ever wrote for money - but there are a lot of VB apps sold as front ends to very expensive equipment written by people with very little programming experience who make also every GUI mistake you can think of short of actual black text on a black background.
The point is taken that if the libraries are already there it makes it simpler.
Over the last few years the client has increasingly lived on web servers.I see the real problem is that the standard is closed - you still see Fortran77, while old VB apps have to be upgraded or vanish. I don't really know much about the current incarnation of VB - is it still pascal or is it java these days?
does it support the opengl shading language like vertex and pixel shaders? i see it supports extensions for opengl 1.5 but to what extent? what about CG for Nvidia or Render Monkey code for ATI? what about pointers that you need for A* pathfinding and artificial intelligence? you cant be serious in considering that Java is a reputable alternative to writing robust recent good quality 3D openGL apps can you? 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?
A question about your sig:
Does this mean an economy that isn't magic, but is based on fish? Or an economy that is based on fish that aren't magic? Or an economy that isn't based on magic fish?
I'm so confused...
"What in the name of Fats Waller is that?"
"A four-foot prune."
FTA: "We had this revelation 18 or 24 months ago, that maybe we should be expending our energies and efforts to make it easy to migrate (customers') skills to take advantage of the new world."
.net programs. I've been using the vb flavor for the code. Why would I want to use something like C# when I don't know a darn thing about it's syntax. Ok, it's like C but I haven't written C since my freshman year of college. I don't think the IDE "helps" me write the code either. I currently don't have time to learn something new so a vb flavored language is what I use. If my boss would pay me to learn C# or Java, then I'd have no problem with that.
.net to work on something other than an MS based machine. Yeah, security is an issue; however, I'm sure those security issues would exist in any application dependent on an MS api regardless of what language is used to wrap those api-s into something usuable in the business world.
WTF! Who let that moron through the marketing department filter. A side from the above I don't give a lot of credibility to the whining of a bunch of MSFT haters.
In the real world I use VBA b/c it's syntax is easy to write and my boss who can't program can protype an interface to sell to our customers. We spend most of our time back fixing it. While this is really fustrating it's part of my job.
More recently I've been working on some
There are differences between vb.net and vb6 but they are both much easier to start developing in. Why does it matter if I'm tied to a MS based os with their api's? That's the point of the technology. I don't think MS ever intended
I knew vb6 would be "upgraded" eventually, that upgrade is vb.net. As mentioned previously MSFT will not totally drop its support for vb6 until 2008. That's how MSFT makes money, that's how developers make money. It sucks, but that's the way it works.
Support is eventually dropped on every product known to me. Look at broadcast tv going digital. Eventually I will have to "upgrade" my tv regardless of whether or not it works either because it's not compatible with the digital broadcast signal or because it needs repair and there are not any replacement parts for it. Cars can be the same way, most people upgrade because of wear, but try finding parts for a classic. The manufacturer might provide some documentation, but I don't think they are currently producing new parts for cars that haven't been in production for decades. You either go through extreme measures to keep the car or you trash it and get something that is "supported."
If sun discontinue java tommorrow then there are plenty more jdk's that will do the job, and as long as people want a functioning jdk then someone will make one.
Developing against a 'locked-in' environment always has this risk, and hopefully businesses will start to realize that it's not worth it.
Writing stuff in VB may be quick but leaving yourself open to microsoft pulling this sort of crap isn't worth the effort.
Open-source is not produced for your "business purposes" and despite it's shortcomings doesn't suffer from this problem.
Let's hope the businesses stung by this choose an open standard next time round.
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.
Delphi/Kylix cross-platform was something that sounded like a good alternative and I saw thay still have it up on their site. I have older versions of both, not the cross-platform versions (Delphi 5/Kylix 1).
I think it's something VB6 people could consider for a future cross-platform alternative unless the plug is being pulled.
rd
Unless you need to move to a new system where you need that VB6 Runtime engine..
Why?
Try running Ultima 7 on Windows XP. I guarantee you it will not work unless you run it under a full x86 emulator like Dosbox. Heck, Ultima 7 won't even work with EMM386 or QEMM because it uses a bug in the processor, specifically 32 bit real mode. Sure there are workarounds that involve replacing most of the program (exult) or patching the software as it is loaded into memory (u7run) but those are ugly hacks.
Also, since the primary and most popular version of basic was from Microsoft - either the GW Basic interpreter, the QBasic interpreter, and later the Visual Basic compiler, this made people who do not like Microsoft avoid it.
The first language I ever learned was Basic, yet for years when I wrote programs for the PC I was using Turbo Pascal because Microsoft - or anyone else - wasn't making any kind of Basic Compiler and Borland was making a compiler, and one that was accessible to be able to do things.
And the toolchains that were developed for open source languages generally related to handling other open source languages, which is why the GTK toolkit and other X Windows tools first support is for C and C++, and later language bindings were added.
Now that there are other languages such as PHP (which is a dialect of C) and Ruby and Perl and Python, people are starting to be willing to accept other languages as being valid solutions to the problems they want to solve. But languages like Basic and Pascal get short shrift because it's only recently that we've had open source versions that are reasonably good implementations.
Also, there is a problem that there is generally one (open source) C++ compiler people look at as the one to use, the GNU C++ Compiler. On the other hand, both GNU and Free Pascal have released Pascal Compilers, and there is GAMBAS, XBASIC, GPCP, Free Basic, Small Basic, HBasic, WXBasic, Liberty Basic, Bywater Basic, Lemick Basic, and Script Basic, among others located at Sourceforge, and the other point being that all of these - with the exception of XBasic - are themselves written using C and/or C++, which makes them look bad because it implies the language isn't even powerful enough to write its own compiler. And XBasic's IDE - written in the language - has severe performance problems, which also makes the language look bad. With all of these different implementations it has fractured the language into a half dozen or more different camps all of which are using a slightly different dialect. And those who would like to help on these languages generally can't because while if you know Basic, that's one thing, but to be able to do work on the compiler you have to know C and/or C++ to do so.
The lessons of history teach us - if they teach us anything - that nobody learns the lessons that history teaches us.
I call bullshit. Tell us, oh grand master, what OpenGL API are you using? GL4Java maybe? (Actually, that could very well be your problem. You do know that GL4Java is several years out of date and has been deprecated, don't you?)
Java3D is also deprecated, but that was never intended as a gaming API in the first place.
Javascript + Nintendo DSi = DSiCade
How exactly is this a forced incompatibility? Were they somehow forced to upgrade to Windows XP? It's ridiculous to argue that the new machines were forced to run XP, if they obviously already have licenses for whatever operating system runs the app now.
The company had to make a calculated decision on whether to upgrade their app or their operating system. If they chose the app, that's their responsibility, not Microsoft's.
Yes Java can sometimes be a bit slower than it's counterparts _but_ it can actually be faster in some cases due JVM runtime optimizations. Something most languages (or environments) cannot do.
But that aside; how come you need pointers for your A* etc.? Java uses references for objects, always. You can just put your objects to your heap for example and nothing is passed-by-value.
C + SEH. God I wish GCC had SEH support.
I'm in exactly the same position as yourself. Agree 100%. This guy actually wants to wrench the power to do this out of our hands because he thinks a hundred line quicky has to be engineered up to production standards when its only going to be used once or twice. If he was a priest he'd be one of those guys insisting the Bible should stay in Latin and Latin alone.
Plays violent online games as: Nerfherder76
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
Microsoft is a business.
Microsoft is there to make money.
Odds are pretty good that if there were a sustainable business (ie, people who actually want them to continue to support VB6 ---and--- would pay them to do so) that Microsoft would be all over that. Right?
"Champagne for my real friends - and real pain for my sham friends!" http://ericblade.postalboard.com/
And the QT libraries are written in, Gasp!, Shock!, Horror! -- "C and C++".
...) programming is the norm.
Sorry, not trying to run you down although I don't mind doing that for VB and C# fanboy programmers.
If you work and program in the *nix envirnment you cannot find VB or C# on AIX, Tru64, Solaris, HPUX, IRIX and Linux. Basically if I need to write a program I would use the tools available on the machine I am programming on and in Unix/Linux land that covers most languages bar Microsoft centric ones.
In the scientific comunity fiddling arround writing a GUI is normally a compleat waste of time. For *nix admin "Shell Script" (Bourn, Korn, Bash, Perl,
You can use OpenGL with Java, even integrate it with AWT/Swing... See jogl for example. (There are other bindings, of course, in addition.)
thanks for sticking up for VB. People have a lot of misconceptions with VB nowadays. Vb6 can compile to native code as well as p-code. P-code was the slower, tokenized interpreted code that got VB the reputation for being slow and unreliable. Think VB3. VB6 defaults to native code and I really dont see any reason why anyone would compile to p-code anymore. VB6 uses the c++ linker in fact when compiling.
.NET language - at this point its just a different syntax than C# for all intents and purposes.
.net/com based language.
I know that vb6 isnt quite as powerful or extendable as c++, but its what I like to call "close enough" for 98% of what you would code. Its true that vb hides some of the lower level customizability that c++ coders deal with, but for the most part thats just a time saver. Competent VB coders know many of the workarounds and I find it a nice challenge to work around the constraints in VB.
Did you know you can throw inline ASM code into a VB app? Did you know with different compiler flags you can compile a true DLL? (not just activex stuff) There are many ways to get around the shortcomings of VB. There are workarounds for multithreading as well.
VB.NET changes things too, because its essentially just as powerful as any other managed
www.maximum-football.com is an example of using VB to make a commercial 3D game. www.truevision3d.com is the engine it uses and its a very powerful 3D engine that can be used from VB or any other
VB has some shortcomings on the surface, but its an easy to use, fairly fast, and quick to develop in and many of its shortcomings have workarounds to customize and extend the language as much as possible.
Don't underestimate VB, its not really what it used to be back when it garnered its reputation.
dont know why it was coded as it was, you need to go back to school. do some research.
Does that mean I can't call up Microsoft anymore with my commodore basic issues?
That's really terrible. I'm going to have to upgrade my commodore 64. I hear MS Basic is pretty good. Not sure what they mean by all this visual shmisual stuff.
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.
as a FLOSS tool in the same niche VB operates in.
Someone might want to port it to Windows I suppose.
VB programmers are also easy to come by...
Intrinsic types in QBasic:
INTEGER A 16-bit signed integer variable. LONG A 32-bit signed integer variable. SINGLE A single-precision 32-bit floating-point variable. DOUBLE A double-precision 64-bit floating-point variable. STRING * n% A fixed-length string variable n% bytes long. STRING A variable-length string variable.Sounds to me like you were using a DOUBLE where you should have been using a LONG. There's no such thing as a "double-precision integer", because integers don't have precision, they just have a maximum and minimum value.
(Those descriptions came straight out of QBasic's online help, which for some reason I still have lying around.)
Thre's a product called Gambas it's not very mature yet and has some odd quirks (like the object members not being available in the constructor or destructor), but it's getting there and it's FOSS, so it may not be to hard to make it understand VB6.
Powerbasic used to make an exelent product, maybe a bit too good for the VB crowed.
Failing that there must be enough VB programmers out there to to a re-write? in VB?
thank God the internet isn't a human right.
Actually, you'd use System.Drawing, which isn't necessarily tied to GDI+.
Those mega-hack spreadsheets are a nightmare because Excel is very flexible. It is extremely difficult to place Excel Spreadsheets + Macros under any kind of formal change control. Essentially this means that a large organisation or a financial institution should be looking at actual programming languages for the stuff on the critical path (P&L, Risk, etc.).
See my journal, I write things there
Most of you 'betters' are only a matter of opinion, and all can be worked arounbd reletivley easly in VB.
.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.
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.
A: Your using VB you take some overhead for it's simplicity.
B: YOU CAN TURN IT OFF, read your own post man.
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++!
a: Two points in one well done, No VB doesn't force a function to be public if you encapsulate it properly, you can have more than one module in a project you know.
b: In vb I can use CreateObject to create anonymous objects and easly wrap up anything I want to be dynaic as an object. It's closer to the sain mans use of function pointers.
I can also use functions in callbacks, which means all I have to do is write a few lines of C, wrap it up in a dll and include it in my VB app to get exactly the same kind of functionality in VB, a dynamic function call becomes an integer for the function pointer, and array of arguments and a call to a dll.
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!
a: You don't need this in VB, as you say there are simple work arounds, and you can use object wrappers for perform arbetrary callbacks, much sainer if you ask me.
4. VB forces all integers (however many bytes they are 1, 2, 4, possibly even 8 byte integers in
a: can you code man? I can use a integer as a flag and perform bitwise operations on it, unlike some who must rely on the limitations of a language I could write code to perform operations on arbetrart sized integers or floating point numbers in VB or C.
5. As you say, you can use resources nativley why the hell would you HARD CODE a,b,c,d if you could soft code it into a resoure.
6. With C/C++ I can actually use REAL STRINGS!, why are you using byte arrays as strings?
You can also use vb 5 that doesn't support unicode if you want to.
7. There's several APIs VB cannot use, because it'll crash the VB IDE, such as Create Thread.
a: you can use them, it will not crash the API at compile time, it's also easy to crate out of process objects in VB.
8. More 'OVERHEAD', native VB functions are slower than any equivalent native C/C++ or 'standard' library functions
a: your wrong, pascall calling convension is actually a few cycles faster than C calling convension.
9: I'd say I can be sure when I make an array in C/C++ that it's 8 bytes, no more, no le
thank God the internet isn't a human right.
Why are you asking about OpenGL when you don't appear to know what the hell it is.
A: If it supports one extension then it support all extensions.
B: Pixel and vertex shaders are just entensions, see a.
C: Is supports OpenGL 1.5, are there any other extents, except OpenGL 2.0 and OpenGL 1.3, GLX is a different matter, because X windows only supports GLX 1.2 (no pbuffers) and ATI and NVidia put the extra functions in there libraries to hack around this limitiation.
D: what about CG for Nvidia or Render Monkey code for ATI.
Java supports extrenal libraies too.
E: what about pointers that you need for A* pathfinding and artificial intelligence?
I prefer to use an irregular QTree or bounding boxes to perform two/n-tiered path finding. you don't need pointers to do this.
the benchmarks on this site were for all 800x600? huh?. Jesus, you must be a troll.
thank God the internet isn't a human right.
okay, i'll engage the troll...
you're dumb. why should business application programmers have to worry about string buffer overflows and null pointer issues?
that's why we have these dumbed down languages. nobody _ever_ claimed that VB was ready or even intended for control systems.
moron.
sorry you were mistaken.
you kept saying VB when you meant Python + wxPython.
I get a project done and compiled on average 37% faster than our best VB programmers here.
I strongly suggest you look at python, it makes VB look like a sick joke for the computing crippled.
I dont know about that.. My SOnyEricsson S700i has the J2ME framework, and i have some VERY intresting 3D games running on it (racing, tennis, even a semi flightsim)..
Now i am SURE this phoen doesnt have a 3D Card in it, and its just a cellphone (not a Symbian smartphone), but the games sure are runnign smooth enough, and using Java.
Maybe you should have a look
Have a nice day!
VB is at its core just a wrapper around COM and any COM object available on the OS.
Only IDispatch-based COM objects, and only for a limited set of types - stray too far from variants and you're in trouble.
COM+ isn't ActiveX, BTW, it's the distributed transaction coordinator.
one of my points i was trying to convey was saying any serious game/3D/openGL programmer isnt going to use Java just for the simple reasons as no pointers and nothing above 1D arrays...how inconvenient that is... also allows no freedom for the programmer in general..kinda reminds me of Ada in a sorta weird way....maybe we are spoiled by C++ but 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.
if the language has been capable for years then how come no one i know doing serious 3D development is still using C++? and why arent most (if not all) gaming shops writing all their apps in C++?
Why even bother? The language is so different, you might as well go all the way and re-write it in c#.
Free Mac Mini Yeah, it's
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
> I agree that [...] Open Source Developers should take a lot of [Visual Basic] strengths and make their own RAD language.
What about this one? Or that other one?
Xenu brings order!
The points you made are valid, but if you are talking about VB6... It's still think it's an aweful language.
VB.net on the other hand is quite nice. I actually like it. My background is in Java and VB.net finally morphed into a language you can do true OOP like the real langauges. I use it at work all the time and aside from syntax differences... it really is a whole lot like Java now.
Blender And Linux Fan
We still develop in QB (compiled for extra speed). Unfortunately, DOS support for RS232 has been discontinued in XP.
... Borland C++ V4 !!!!
We now have to re-write all our apps in something more modern
Yeah!
No sharp objects, I'm a programmer!
It's false to imply that in an open source scenario the situation with Microsoft wouldn't happen. Is there anyone out there in the open source community that would be prepared to support someone working on Linux 2.0 (which is about the same age as VB6 AFAIK), or do you suspect that people are more likely to suggest that the user upgrades to 2.4 or 2.6 ?
The response in the open source world tends to be "your code is out of date, get the latest version which fixes all these bugs" forgetting that many corporate institutions are reluctant to even consider this. That's basically the same as Microsoft's response.
the various functions provided by the BIOS for hard drive access etc. aren't used after the kernel's initialised.
This will possibly change with the advent of the Treacherous Computing platform.
Unless you have a boot-from-lan option in your BIOS
I'm pretty sure that turning on boot-from-LAN is common in workplace computing.
you'd have to actually be AT the machine concerned to exploit any security problems in the BIOS
Not necessarily. A lot can be done in a boot sector virus.
it's a well known rule that anyone who has physical access to a machine *owns* the machine.
The company owns the machine, not the employee.
It's Microsoft's right to protect it's property, the same way as it's your right to protect your property. Please explain any differences you see.
Biggest difference: Microsoft has more money to buy more lawyers to defend its copyrights and harass defendants in close cases and more money to buy more lobbyists to rent-seek expansions to the scope of its copyrights.
If you have an alternative economic model, for the Western world, please share it.
The Western world did fine before the latest rounds of copyright term extensions and scope expansions, which started in the 1970s. Besides, copyright is a privilege, not a right, despite the name. In fact, of the major philosophies of the world, the only philosophy that considers copyright a right is fascism.
From the website:
It comes with truly Java-like object orientation and backward support for VB6 and QBasic, as it is 100% syntax compatible. KBasic combines the expressive power of object-oriented languages like C++ with the familiarity and ease of use of VB6. It allows developers with an installed base of VB6 applications to start developing for a mixed Windows and Linux environment without having to face a steep learning curve: KBasic uses the familiar visual design paradigm and has a full implementation of the Basic language.
It's not FOSS, but it's only 25 euros -- not a bad deal when it means you get cross-platform capabilities to boot (with even planned support for Mac)
Borland had a badass compiler with the old venerable Turbo C 3.0
I remember that compiler - compared to Microsoft's C compiler, Borland's screamed.
-- Ed Carp, N7EKG erc@pobox.com PGP KeyID: 0x0BD32C9B What I'm up to: http://intuitives.mine.nu
no pointers and nothing above 1D arrays.
an array of pointers to an array or, if you want it cstyle.
This inconvenient....
class 2darray{
int xsize;
type data[];
type getElement(x,y){
return data[y * xsize + x]
}
2darray(x,y){
data = new type[x*y];
}
}
thank God the internet isn't a human right.
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:
this is no good for raw data maps, like BMP, or pixelmaps or anything you could mmap in C, for that you have to use a ray block of char's and index into it.
using a raw block of char's is fairly trivial, either that or you game isn't going to be work shit if using a block of char's was your biggest problem.
thank God the internet isn't a human right.
But software that exploits bugs (or undocumented APIs) in the underlying platform (OS or hardware) should not be expected to be forwards compatible.
Frankly, I would fire the CTO who made us dependent on a company that could pull our platform out from under us. Especially if that company already has a known track record of closed fire formats and antitrust violations. Isn't it irresponsible to make yourself dependent on this type of company?
Furthermore, I would FAR prefer to hire a small team of highly skilled people who really know what they are doing with high quality tools (such as C++ with generics) over a larger team of VB monkeys. (sorry, flamebait) The idea that the qualified IT workforce can be expanded by using point-and-click Languages for Dummies is total bunk. (damn, sorry more flamebait...)
http://www.realsoftware.com/realbasic/
A buddy of mine uses this because it is cross-platform and has an IDE. It's not free, but it's easy, kind of like my last girlfriend. Shouldn't have married her, but that is another story.
--Somewhere there is a village missing an idiot.
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.
I want to know exactly what is going on in my code. I do not want it generated for me.
I hope you only write in assembly language, then. None of this high-level C nonsense where you can't even be sure whether your switch() statement is being compiled to an O(1) jump table or an O(N) string of if/else statements!
If someone wants to buy assembled Ikea furniture from you, what'w wrong with that? Maybe they like the look of the Ikea stuff, and are willing to spend a premium for just not having to assemble it themselves. This is not a claim about how good a carpenter you are, but what kind of tools/equipment you use to give what your customters want, with minimal effort.
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.
Indeed. The classic implementation of the A* search algorithm was written in Prolog. Not only does Prolog not have pointers, but everything is passed by value, recursion of a single function requires separate rules (a base case and a complex case at a minimum) and preserving state in the way you might in either procedural or functional programming languages is pretty difficult, resulting in passing around a lot of node trees. Complex user-defined data types that make the work easier simply don't exist in Prolog.
The person you responded to rather obviously doesn't know what he is talking about.
VB is not merely a language, it is a tool/IDE first and foremost.
As languages go, VB is much different than C based languages, even C objectish languages (Vb is also 4GL vs C-based langauges wich are 3GL). UntilMicrosoft even stated that VB was for non-engineer/cs types to toss out quick Win32 apps. If it was so grand, why do people have to fix things with C coded modules?
In my experience, people who champion VB are from a whole different world. A world without software engineering, a world where hacking out apps is still the way to go.
VB6 was clearly not OO -> no inheritence, interfaces, ADTs, etc.
Tell me how to do OpenGL code in VB6? Or J2EE type enterprise web apps? What about generics or reflection? Would you make a single pass compiler in VB6?
VB is bulkier than C++/C3/Java and has more constraints on what can be done (even the .NET flavor). I think all applications should be done in LISP or SCHEME.
I read comments from VB guys and it sounds like you have never heard of things like: IEEE 9126, the SEI, CMMI, or any other software engineering body/standard.
It is not just a disdain for VB, it is also a disdain for all of the poorly designed/hacked systems in the world.
Huh, you switched from an open standard with many F/OSS implementations and libraries to a closed source product based on a closed standard - for "freedom"?
Please explain. At first glance, that sounds like committing yourself to a mental instutution to gain freedom from the opressive outdoors.
Yes. There was a pretty famous lawsuit that alleged that Microsoft illegally targeted many key Borland employees including Anders Hejlsberg (The inventor of Delphi, and the creator of C#) and Paul Gross (former Borland Chief Developer; now a MSFT VP).
At least 34 Borland employees were hired by Microsoft over 30 months; and in at least 2 cases, $1million bonuses were offered to close the deals.
Assume they offered all of the Turbo C & Delphi engineers from Borland $1million - for a mere $34 million they would have wiped out their biggest competitor in a many billion dollar industry. Of course such hiring practices are illegal; but Borland and Microsoft eventually settled with a broad IP-sharing partnership and a $25 million investment from Microsoft into Borland.
...who backs themselves into the VB hole in the first place? You hack like a woman! /austin powers
Help us build a better map!
If there is any other language available that provides this capability - except maybe Delphi - please let me know
At the risk of repeating myself, Cocoa. And it's backed by a well-designed language (actually 2, since you can use Objective C or Java). All for the small, small price of switching to a better OS.
> 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.
Trivial apps can be built quickly in any language. Big apps take time in any language. Some languages are more productive than others.
> 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.
There are quite a lot of languages which avoid buffer overflows.
> Pointers, btw, are a wonderful thing and you are acting like they are bad.
They are. They make optimizing code harder. The absolutely retarded string libraries which come with C don't help either....
Pointers are fun. They're not, in any way, necessary as something exposed to the programmer by the language.
> 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.
http://www.paulgraham.com/avg.html
> 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).
Sapir-Wharf hypothesis; discredited.
> 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.
Using any language well comes with a high learning curve. The basics of several are accessible rather quickly.
Check out smalltalk sometime; the initial learning curve is annoyingly high, but some of the environments, like visualworks, are -really- amazing, especially with their debugging and refactoring tools.
I don't even understand what your bullshit about "Gasp!, Shock!, Horror!" about the QT libraries is about. No one at all was talking about libraries, which have NOTHING to do with GUI construction features. I'm pretty sure the VB GUI building tools are written in *Gasp!, Shock!, Horror!* C and C++, also.
Next time at least try to stay on topic or at least show that you read more in a post than the letters Q and T.
Where do the vendors draw the line on the legacy support? They have to draw that line somewhere. It keeps us employed.
The difference is that with free software, it's much easier for multiple vendors to draw multiple lines as to when to end support.
Looks to me like they screwed themselves by ruling out using an OS that supports their application
"Can't get approval to get Win2k anymore" sounded to me more like "Microsoft won't sell Company A a copy of Win2k anymore". This can't happen as easily with free software.
That's why [vmware and friends] were invented - to run legacy applications on legacy OSs. You can take a dual processor P4 Xeon server, run 20 virtual machines on it, for less that the cost of upkeep of your aging PII fleet
Unless your license agreements prohibit moving OS images from your aging PII fleet to your P4 Xeon server, or the operating system in use on your aging PII fleet doesn't have drivers for the peripherals that the VM emulates.
there's no reason that you can't obtain older versions of OSs
"End of life" also means "moratorium on sales of new licenses at any price less than half Microsoft's market capitalization". This can't happen as easily with free software.
"Funny, freedom is the reason I switched from C/C++ to Java."
Huh, you switched from an open standard with many F/OSS implementations and libraries to a closed source product based on a closed standard - for "freedom"?
Java is neither a closed source product or a closed standard.
Java isn't closed source, any more than C or C++ is closed source, because Java is not a product - it's a language. Anyone can write an implementation of the Java VM and the Java language. Just because Sun's particular implementation isn't open source doesn't mean that others can't be - look at Kaffe and Sablevm.
Java isn't a closed standard. Java evolves via a combination of the JCP (which anyone can join for free) and open-source tools and libraries.
this is no good for raw data maps, like BMP, or pixelmaps or anything you could mmap in C, for that you have to use a ray block of char's and index into it.
This is not the case. Java has a large number of high-performance methods to handle raw data maps as part of the standard API. Take a look at java.awt.DataBuffer and subclasses.
ok, more verbosely.
char a [3] = {1,2,3};
char b [3] = {1,2,3};
char c [3] = {1,2,3};
char foo*[3] {a , b, c};
is not the same as
char bar[3][3] {1,2,3,1,2,3, 1,2,3};
One is whole bytes the other is pointers and bytes, I can do *(bar+10) = 123; I can't do *(foo+10) = 123;
Java may be good at pixelmaps, but the method you suggested for multi-dimensional arrays isn't.
thank God the internet isn't a human right.
char foo*[3] {a , b, c};
is not the same as
char bar[3][3] {1,2,3,1,2,3, 1,2,3};
One is whole bytes the other is pointers and bytes, I can do *(bar+10) = 123; I can't do *(foo+10) = 123;
Java may be good at pixelmaps, but the method you suggested for multi-dimensional arrays isn't
Firstly, it wasn't me - I think you are referring to another poster regarding arrays.
But, after all, isn't image/pixmap handling, transforms and various 2d/3d processes what most games are all about these days?
The Java approach is not to write all this yourself, but to use existing libraries.
I could be wrong, but I'm suggesting that the kind of low-level manipulation you are describing is mostly unnecessary - others have written (fast) code to do this for you...
Must of the dogs work is handled in hardware, the Direct X 9 work I'm doing uses a few de-references to keep the code tidy, but it doesn't have any noticeable affect on performance, because what's a de-reference compared to the thousands of calculations the GPU has to make.
One area where big improvements can be made is Matrix transforms, most CPU's come with SIMD for floating point (or integer) operations, they are often several times faster than using SISD instructions, I don't know if any JVM's suport SIMD yet, and I know that GCC 4.0 will be the first GCC to add reasonable support for SIMD.
thank God the internet isn't a human right.
One area where big improvements can be made is Matrix transforms, most CPU's come with SIMD for floating point (or integer) operations, they are often several times faster than using SISD instructions, I don't know if any JVM's suport SIMD yet, and I know that GCC 4.0 will be the first GCC to add reasonable support for SIMD.
According to IBM:
"the latest x86 VMs from Sun and IBM will automatically exploit Intel's SIMD instructions (MMX/SSE/SSE2) on machines that support these (Pentium-IV and better will support all). This single factor doubles the score of FP-intensive benchmarks like JGF. Using the same VMs and bytecode, in lesser CPUs, the JIT will use the slower x87 instructions."
That was from 2003... so I'm assuming it does...
I guess benchmarking Java against GCC 4.0 would be interesting (using the -server hotspot setting, which is more optimising).
JIT code should always be faster because it can be profiled and optimised at runtime.
It's also possible that JIT compilers can generate threads (or fibbers) at runtime even it the coder hasn't asked for such, you couldn't do this with C because C supports pointers so you couldn't guarantee the state of anything.
thank God the internet isn't a human right.
That was my point, I wasn't defending or attacking him, just trying to let people know what he probably meant by "writing a web browser", he didn't start from scratch.
I mean really - who cares if Microsoft isn't going to release new service packs for VB6. They're at SP 6 so far. If they haven't fixed a critical bug that is causing you headaches by now, they never will. So you've either found work-arounds for such situations or moved to another platform.
The VB6 runtime is not going away soon either. Also, the same VB6 runtime that works on XP is certainly going to work on Longhorn, which is just another Windows NT. It works on Server 2003, too. And, shock amazement, the same installer handles all 32 bit windows platforms. (Which is to say, Windows 3.x with win32s doesn't count.)
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Try wxPython, it's nice...
Seems like a good time to pick up a license for REALbasic, since they are giving it away until the end of the March:
Get a free license here:
http://www.realbasic.com/vb6/
If somebody can boot a floppy on your machine, then the OS is irrelevant, and it doesn't take a bug in the BIOS to totally do over the machine.
It takes a BIOS password, known only to the administrators, to boot from anything other than the hard drive. It takes a key, possessed only by the administrators, to open the machine's case and push the button to clear nonvolatile data.
Translation, you're a fucktard that can't fucking program properly. Hey, do society a favor and go jump of a God-damned bridge.
I use VMWare extensively--it is great for developers, sales people, etc. to keep images of virtual machines that can be moved around to various physical boxes when required. However, it can't replace all that aging hardware.
Say, I got that spiffy new Xeon server and VMWare. Cool---now I can turf all those old "classic" pentiums and 486s and get on with....oh hold on I better make sure to take those dongles off the LPT1 ports so I can run the software. DAMN.. I forgot about the 16-bit ISA cards that talk to the industrial controllers we put in during the feed pump upgrade in 1989.
OK...so now I have the 6 ISA cards and 12 dongles so I can still run the old programs on my new Xeon server. Hmmm....there doesn't seem to be enough parallel ports for all these dongles. In fact it seems there are no LPT ports at all anymore--damn--purchasing forgot to order the "legacy options". Well lets open this thing up and see if we can put the cards in. Hmmm...these slots seem a bit small...
Anyways, you get the idea. Now it is time to phone the vendor, who politely tells you that you need to spend 26,000 dollars to get an "ethernet gateway" device to do the job of the old ISA cards and 12 licenses of the latest software, since the old DOS stuff is not supported anymore and doesn't do ethernet.
Sounds far fetched? Not really. It is pretty commonplace that some users expect 15 years of service from their systems. I've heard of support calls coming in for stuff my employer sold them over 20 years ago! Stuff that can only be programmed with DOS software! I think it's lost on Microsoft what some customers really expect--just as it is lost on customers how much it costs to support legacy systems (both time and money). For example, I've heard that to acquire an airworthy DC10 jet costs more now that the original purchase cost when it was brand new (even adjusting for inflation)! Why? Because parts and service to make one safe to fly are getting scarce and very expensive.
Anyways, I think it is quite short sighted of MS to drop all support of VB6, long-in-the-tooth as it may be. Even if you have to charge an arm and a leg to offer support, at least make it available. At least in the case of open source there will be someone who can help you so long as there are users out there, even if you always have to move on at some point.