Microsoft Urged to Open Source Classic Visual Basic (i-programmer.info) 331
"On the 25th anniversary of classic Visual Basic, return it to its programmers..." reads the plea at UserVoice.com from Sue Gee -- drawing 85 upvotes. "The new Microsoft claims to back open source, why not in this case? There is no need for Microsoft to do any more work on the code base - simply open source it and allow the community to keep it alive."
In an essay at i-programmer.info, Gee shares a video of young Bill Gates building an app with Visual Basic in 1991, and complains that in the 25 years since Microsoft has open sourced .NET Core and the .NET Compiler Platform Roslyn, "but it has explicitly refused to open source VB6." She notes that Friday Visual Basic's program manager announced a "Visual Basic Silver Anniversary Celebratiathon," promising he's reaching out to the VB team members from the last 25 years for a behind-the-scenes retrospective, and adding "this is a party, so feel free to be interactive."
"What the post glosses over is that this history was blighted by the fork in the road that was .NET and that many Visual Basic fans are highly unsatisfied that the programming environment they cherished is lost to them..." writes Gee. "Vote for the proposal not because you want to use VB6 or that you think it is worth having -- Vote for it because a company like Microsoft should not take a language away from its users."
In an essay at i-programmer.info, Gee shares a video of young Bill Gates building an app with Visual Basic in 1991, and complains that in the 25 years since Microsoft has open sourced .NET Core and the .NET Compiler Platform Roslyn, "but it has explicitly refused to open source VB6." She notes that Friday Visual Basic's program manager announced a "Visual Basic Silver Anniversary Celebratiathon," promising he's reaching out to the VB team members from the last 25 years for a behind-the-scenes retrospective, and adding "this is a party, so feel free to be interactive."
"What the post glosses over is that this history was blighted by the fork in the road that was .NET and that many Visual Basic fans are highly unsatisfied that the programming environment they cherished is lost to them..." writes Gee. "Vote for the proposal not because you want to use VB6 or that you think it is worth having -- Vote for it because a company like Microsoft should not take a language away from its users."
ummm.no. (Score:5, Insightful)
Re: (Score:2)
Re: (Score:3)
You never watched ST:TNG?
When something strange happens, it's always Q.
Re: (Score:2)
You never watched ST:TNG?
When something strange happens, it's always Q.
Or "the boy" Crusher zapping people away in warp bubbles and other such nonsense.
Re: (Score:3)
Aren't these people or their successors busy doing the same thing already today in Ruby or Python or JavaScript? At least in VB6 you have the _possibility_ of declaring a variable type.
Re: (Score:3)
What is with all the hate towards JavaScript and Python, especially JavaScript?
One could say the same thing about VB6. I discovered many years ago programmers are rather irrational and dogmatic about computer languages. Many of them are just repeating what others have said and don't have good explanations for believing the things they do.
Re: (Score:3)
How do you say stuff like:
In the grand scheme of things, javascript is still a very very young language, especially since ajax and ES5/6 and JIT compilation came along.
with a straight face? Javascript has been an ISO standard since 1997 [wikipedia.org]! It's just a few years younger than python FFS.
AJAX is a pattern used within in-browser javascript, having nothing to do with the language itself, and yes, 5/6 look much different than 1.... much like you can't run python 3 code in a python 1 interpreter.
Re:ummm.no. (Score:5, Funny)
Let it die. It's a terrible language and it should die a death. don't open source it or you'll just encourage a new wave of cheapskate programmers to start learning bad habits and producing crappy code.
I sooo agree man they shouldn't open it! Hold on let me finish this JavaScript project I am working on ....
Comment removed (Score:5, Insightful)
Re:ummm.no. (Score:5, Informative)
Re:ummm.no. (Score:5, Insightful)
>These days, most of those folks have moved on to Python.
Somehow I doubt that. The people who mostly used VB were not *just* looking for an easy language, they were looking for an easy language to write Windows GUI apps in. Python is decidedly difficult to do GUI work in as you need to learn a GUI library, and there is no common standard [well there's tikinter but nobody actually uses that and with good reason]. So you could use QT which works on all platforms but unless you want to GPL your code that costs a pretty penny, or GTK - and each time you're fighting with a library designed for a different language and badly integrated. Ubuntu had some project to try and make easy python GUI programs with but that only ran on Ubuntu desktops so... meh.
There is WX which is a wonderfully lovely library to code with - and has one of the most horrifying build and dependency chains I have ever had the horror of dealing with. KiVY has some of the ugliest interfaces I've ever coded to, tough it does have the advantage of being portable to the extent that you can write python apps for android with it (though in theory you could also do that with QT).
Of course, of all the platforms python runs on - the one it is *hardest* to write a GUI app for is Windows. If you want multiplatform you'll have to bundle your chosen library. Coding directly to the Win API in python is .... weakly supported at best, the runtime environment isn't present in general and in fact, it's so badly supported that most python devs who DO want to ship something for windows end up using a compiler that builds their entire application as well as the python interpreter into a self-contained EXE just to spare their users the horror of trying to install dependencies where every concept of a package manager is a badly designed bolt-on like NPM.
Simply put... for all it's wonders (I love python), it's a terrible fit if your goal is to write windows GUI programs. The language per se may be fine for it, but the support structures to make that easy simply does not exist. I suspect most former VB coders (and the people who followed in their footsteps) are coding in C# actually. That's the easy language to write a windows app in today, and if you're a diligent and disciplined coder you could even make it run in Linux with Mono. Not that many people do, mono isn't even installed by default by any distros I know about anymore (though most still include the open-source Java), but it at least exists and it did lead to things like the Unity engine being cross-platform.
Re: (Score:2)
On this point... whatever happened to BOA Constructor ? I guess RAD never really appealed to the python crowd since it seems to have died a quiet death.
Re: ummm.no. (Score:5, Interesting)
Delphi can do everything VB6 can, but much better.
Re: (Score:3)
"VB6 is great for one REALLY specific job, which just happens to be a job that small to medium businesses require quite often, which is "make a quick and simply GUI to a DB" and it does that job very very well. In fact I've never seen anything else that could whip off a GUI to a DB as easily or as quickly as VB."
Might I suggest Java? It is also multi-platform.
You are correct in that VB was good for that very common task. Today they all seem to want to use a web interface but you know sometimes I do not want
Re: (Score:3)
>A discarded napkin?
Personally I find discarded TP to have a higher throughput but that may be limited to MySQL post-Oracle.
Re: (Score:3)
Sorry, the language itself isn't bad, I've seen far worse code being done in (VB/C#,F#,whatever).NET or C(++), just like I have seen good code in both..
VB6 isn't the problem.. The mentality of people who think the language they use is much better, is even worse..
Yes you can write crap code in VB6, but you can write crap code in any language..
To be honest, I think the syntax of VB6 is one of the best/clean syntax around, BUT the compiler and lack of real OO certainly isn't (but as stories goes, VB7 was alrea
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
Let it die. It's a terrible language and it should die a death. don't open source it or you'll just encourage a new wave of cheapskate programmers to start learning bad habits and producing crappy code.
And what's the problem with that? After all, one can create crappy code with any language, Programming languages are simply a tool and a tool in the hands of craftsman can do wonderful things. Instead, without VB6, people have gone on to use VBA in MS Access and Excel. Cheapskate programmers, as you call them, will use whatever is available, even if it isn't the right tool for the job. However, it isn't your's or mine or Microsoft's responsibility to protect people from themselves.
So, what is the harm i
Re: (Score:2)
Re: (Score:2, Informative)
"People" aren't passionate about VB6. Businesses who don't want to get their production code out of the 20th century, and they're out there, are passionate about VB6.
Re: (Score:3)
"People" aren't passionate about VB6. Businesses who don't want to get their production code out of the 20th century, and they're out there, are passionate about VB6.
Look at COBOL. People do not rewrite their business applications just because you happen to think they should, nor will they spend money on developing a new application......that does exactly the same thing. Sorry, but that's not how the real world works.
Exactly! (Score:5, Insightful)
Businesses aren't the ones demanding the source for VB6.
Exactly! What cashflow strapped small business with 15 employees running on Windows XP with a hardware firewall between them and the net, with a huge amount of Microsoft and third party components, all glued together with VB6, wouldn't want to:
* Upgrade 15 old machines so they could install a 16th machine .NET (hope it works!) .NET, pay someone to rewrite them from scratch
* Have to have someone "upgrade" their entire business IT infrastructure to
* Re-buy all the components they were using
* For the components they were using that aren't available on
* Convert all their historical data
* Replace all their old printers, since old printers never have drivers in new OS's
* Retrain all their employees on the new stuff
* Hope there aren't any business-ending "quirks" in the new code
I mean who wouldn't love that?!?!?
Re:Exactly! (Score:4, Insightful)
Such is life, if you keep wanting to produce buggy whips when there no horses on the streets expect to fail. If you took on computers early, you ended up having to make a lot of changes over the years, that's just the way it is. Basis is just so done, accept it, if changing causes you to fail, then accept failure, there is no escape.
Why Mainframes Live [Re:Exactly!] (Score:5, Interesting)
Not necessarily.
Most Mainframe programs from the late 1960's work with little or no changes. You can complain about COBOL and JCL, but at least a mainframe shop doesn't have to rewrite programs from scratch every 15 years or so for every new programming or UI fad style that comes along.
Maybe it cost more up-front to use the clunky mainframe languages, but if you factor in the cost of rewriting every 15 years to keep up with the Joneses, then the mainframe approach perhaps is cheaper over the long run. And more reliable.
Re: Corrections [Re:Why Mainframes Live] (Score:5, Funny)
For someone so incredibly naive about the world of business, how do you expect to be competitive? Out-smug the competition?
Re: (Score:2)
If you're still running COBOL code you're probably part of the 50% of the economy that will be replaced by robots in the next 20 years.
If you're still running COBOL you already are part of the community which was replaced with robots 50 years ago.
Re: Corrections [Re:Why Mainframes Live] (Score:5, Insightful)
If you're still running COBOL code you're probably part of the 50% of the economy that will be replaced by robots in the next 20 years. Change or die.
Dream on.
Re: Corrections [Re:Why Mainframes Live] (Score:5, Insightful)
Probably not.
You will find COBOL in a lot of banks and other companies that computerized a long time ago. This is all back end code that runs things like accounting. The code works and has for decades. It was well written and updated over time very carefully.
As for UIs you will often see web based UIs to this back end code. So you have a stable well tested foundation and an easy to update light UI. The hardware on a mainframe is super stable and highly reliable.
If you want to migrate from a mainframe simply recompile.
Re: Corrections [Re:Why Mainframes Live] (Score:5, Insightful)
If you're still running COBOL code you're probably part of the 50% of the economy that will be replaced by robots in the next 20 years. Change or die.
Don't be a fool.
I'm one of those people who sneer at the "if it ain't broke, don't fix it" mentality that causes PHBs, CEOs and other clueless/wishful people to treat their IT assets as fixed one-time-costs, but there are some computer applications that simply don't need to be based on the fad-of-the-moment technology.
Accounting systems have been pretty much the same since at least the time of Scrooge and Marley, if not all the way back to ancient Sumeria. Payroll, pretty much the same. The old "Data Processing" stuff doesn't need a total re-architecting and companies have better things to spend their money on. Such as overpriced consultants peddling overpriced technological "solutions".
These days "DP" systems have a lot of interaction with "IT", as we do things like run Big Data analysis on the Accounts Receivable. But the virtue of the old mainframe systems is that it's a lot easier to ETL data off the AR masterfiles and into your MongoDB database than to keep redesigning the accounting system every time some new externality is needed.
Re:Why Mainframes Live [Re:Exactly!] (Score:4, Informative)
Now if someone would just upgrade that ERP (painful as that might be) it would be possible to integrate stuff like the website and all those webservices the suppliers are exposing to re-order and what not quickly. They could probably automate more take on more clients or cut staffing costs considerable. Someone just needs to be willing to sign that 200k check and get some new technology in the door.
I do ERP systems for a living: Microsoft Dynamics AX, and I work for one of the top Microsoft partners in AX space.
$200K is pretty much your consulting fee for what you propose. $2 million is probably the implementation cost for a replacement ERP system. But that's only the beginning of it. Since ERP is so fundamental o an organization, replacing an ERP system with something totally different (and be it SAP, AX, or any of the other solutions out there) to what runs on an AS/400 is going to require a complete rethink of the organizational processes.
You replace an ERP (or even just upgrade your existing one) when your business demands it, and for no other reason. It's simply too costly in terms of money, time, retraining, and the inevitable go-live issues that happen.
Heck; I've been assigned a new client to sort out their database because the go-live went so bad: the initial data load was bad data, and there are bugs throughout the system because the client never tested but pushed for a go-live before they were ready. For the last 9 months they can't run an AP aging report!
Replacing an ERP system is not like replacing Word Perfect with Word. It takes a serious commitment of time, money, and most importantly of all client buy-in: if the client's employees haven't bought in for the need for change, your ERP project is dead in the water.
Re: Why Mainframes Live [Re:Exactly!] (Score:3, Insightful)
Rewriting 17,500,000 lines of code "occasionally" isn't possible. It would take decades to reengineer most large legacy Cobol projects from scratch, it would take dozens of engineers, and it would probably get screwed up.
Re:Exactly! (Score:5, Insightful)
VB6 is simply a tool to get shit done, quickly and easily. If you couldn't do it quickly and easily, then it was the wrong tool for the job. People in the real world use software to get their real work done. You're thinking of VB6 as an end-product rather than as a tool, which is where your analogy goes off the rails.
Re: (Score:2)
Oh, don't get me wrong... I agree with you. I probably should have said *was* rather than *is*. It's certainly not anything you'd want to use for a new project, of course, but there are very likely a lot of legacy projects that are still being maintained that rely on it.
Re: (Score:2)
Such is life
Not going to happen. Such is life I'm afraid.
Re:Exactly! (Score:5, Insightful)
See, on the one hand, what you're describing is exactly why I think FOSS is so important. Rather than getting held hostage in the upgrade treadmill, you could just pay a programmer to maintain your current codebase. Your business is stuck running on Windows XP? If it were open source, some programmers could make a business out of providing required patched and updates. Great.
On the other hand, as an IT person, I have violent hatred towards companies who run their business on a jenky old custom app that only runs on out-of-date systems. Yes, it's a big, expensive, complex, scary project to take your business-critical application that hasn't been touched since 1996 and make it run on modern infrastructure. That's why you never should have let it get to this point. If you have a business-critical custom-built application, you should have a plan for keeping it updated and running on modern infrastructure. You should not be waiting 20 years before you invest money into updating it. If it's too fragile to migrate to a new server running a new OS, then it's too fragile to be business-critical. If you can't run your business without that fragile and terrifying app, then you should not feel good about the way you're running your business.
Re:Exactly! (Score:4, Informative)
Yeah, .NET has only been around since 2002. If only you had started slowly converting individual components 10 years ago, you wouldn't have this problem now. Failing to plan is planning to fail.
Not going to happen, and it never was. The rules that applied then apply now. Companies do not pay to rewrite all their applications in the latest new technology which does all the same stuff their old one did - and nothing more. In fact, .Net applications generally run slower. Great. It makes *zero* sense. Only a developer living in an idealistic fantasy world thinks that, which is exactly how Microsoft thought with .Net and VB.Net.
I'm afraid you're simply someone with no knowledge or experience of what happens with legacy applications and why they simply don't get rewritten in the latest and coolest technology. There are fundamental reasons why we are still talking about classical VB and why we still talk about COBOL. Hell, we're still talking about bloody JavaScript after all these years. Your idealistic and simplistic notion of how organisations operate will not change that.
Like C / C++ inertia. (Score:3)
There is indeed a lot of inertia.
C / C++ are far worse languages than VB6. No garbage collection, not even a real concept of an array. Every other line a potential buffer overflow. And older than VB6.
But people continue to use this archaic technology today, despite it being so unproductive. That is because of legacy and inertia. And most C / C++ programmers do not even realize how bad it is.
VB6 is not that bad for what it is used for. Efficiency is not so important. It has features like keyword param
Re: (Score:3)
While we're at it... (Score:5, Funny)
... lets let smallpox out of those freezers.
Re:While we're at it... (Score:5, Funny)
At least smallpox doesn't always cause permanent brain damage.
Re: (Score:2)
>At least smallpox doesn't always cause permanent brain damage.
Some would argue that death is a form of permanent brain damage... though less severe than what VB causes.
Maybe it's a good thing (Score:2, Insightful)
Sorry For This Post (Score:2)
Even slightly sorrier (Score:3)
I'mJustHereToTellYouThatYou'reWastingSpace.
Re: (Score:2)
AndYouReWastingSpaceWithYourPunctuation
Re: (Score:2, Funny)
Stp t! Nbd ss vwls nmr.
Should have done it a long time ago (Score:5, Insightful)
Re: (Score:3)
I can sort of understand why some companies aren't so eager to open source dead code. Open sourcing it means that anyone can look at the code and check to see if it used someone else's patented algorithm, or happened to use source from a non-permissive license which wasn't disclosed, or any number of other issues...
Legal issues tend to kill a lot of good ideas and intentions. MS is fine with open-sourcing their active concerns when it will help promote their own products, but I wouldn't hold my breath for
Re: (Score:2)
Some people predict that Windows will eventually go open source.
Hmmmm. What could Microsoft possibly gain from that? Even hypothetically in the future, I can't see it.
Re: (Score:2)
they can hire some poor skilled soul to do that work for them.
Sense of entitlement, anyone? (Score:5, Insightful)
Vote for it because a company like Microsoft should not take a language away from its users
If you bought a copy, you can still use it if you also bought a copy of the OS it ran on. Nobody is taking anything away from it's users. Same as I've got old copies of dBASEIV and dBASE5 that still work just fine, even though they aren't officially supported any more. I can even make redistributables with dBASE5 without a per-user-count limit.
Not that I would - it's as dead as VB - though of the two, VB is the more deserving of death.
Re: (Score:2)
without the possibility to patch and recompile the old environment for new hardware you are stuck with an impaired development tool.
Who is sitting on 15 year old code that has had no effort to keep it current made?
This is one of the problems, people leave stuff too long and then it becomes a monster job to move to something newer.
Imagine sticking around on Windows 3.1 for too long, until Windows XP came out. That isn't just a monster jump, that might as well be a brand new OS from a brand new company.
VB6 should have been left years ago, with plans and efforts in place to move to .net or something else long before today.
If you wait 15 y
Re: (Score:2)
If you wait 15 years to move in the tech world, you're in for some pain
The problem with this argument is that most of the companies that built systems with VB6 aren't in the tech world. They're in a host of other fields and used VB with some database (possible Access, hopefully SQL Server) for a load of custom workflow automation. They don't want to replace it after 5 years, because writing software is not part of their business and is just a cost centre. They'll replace computers when they become too slow for new software or physically break. They expect their computer sy
Let it fade into memory (Score:5, Insightful)
Let it become a fond memory for those who loved it, and forgotten by those that didn't.
We seriously don't need it. It was an interesting emulator of OO but not really OO, lacked a lot of features that are now-days built in such as a simple dictionary type, and required a lot of tedious coding which languages like C# have reduced and improved on.
I'm not a VB hater, I used it when my job required it, still have a legacy code base to support until we get round to replacing the old DLLs with some C# alternatives, and I feel that I have a fairly comprehensive knowledge of VB, but it is no longer pleasant or preferable to code in it.
Re: (Score:3)
They may not be able to open source it (Score:5, Informative)
Its entirely possible classic VB contains code that Microsoft licensed from 3rd parties and is unable to open source.
Re: (Score:2)
And not to mention that VBA still appears in a lot of places, so I imagine the libraries are at least in some level of maintenance.
Re:They may not be able to open source it (Score:5, Insightful)
Yeah that's the other problem for Microsoft in open sourcing VB. Even if its not using 3rd party code that Microsoft cant legally open source, its using all sorts of code shared with other components that Microsoft doesn't want to open source. The IDE and tools likely share a bunch of code with other things in Visual Studio. The compiler engine for VB (the native-code compiler specifically) is using the same C2 compiler back-end as Visual C++. Code in VB may also be shared with code in its office products (including VBA stuff). Not to mention all the database integration stuff is heavily tied into the Access JET database engine and related components which would need to be open sourced as well.
Re: (Score:2)
Too many floppies? (Score:4, Funny)
Maybe the source is just too large to distribute??
Re: (Score:2)
Just put it on a Magneto-optical disc or two and bob's your uncle.
Re: (Score:3)
and bob's your uncle.
In this day and age it might as well be Alice.
Stahp (Score:3)
The word "Classic" is way overused.
Re:Stahp [classic, and WYSIWYG] (Score:2)
Why do you say that? When there is a major overhaul of a tool or language, the pre-overhaul versions are typically called "classic". It's convenient. Using version number ranges is harder to remember for both the speaker and the listener.
One thing I liked about VB classic and Delphi is that they are pretty much WYSIWYG (at least in the 90's, I haven't tested them on newer OS). With the web stack, different browser brands and versions and OS settings will make stuff shift a
Re: (Score:2)
WYSIWYG is a good invention, it's why PDF's live. Please bring it back. Our tools de-volved. Auto-flow is evil; I spit on it daily; I use to have nice hair, and now it looks like Bernie Sander's hair.
There's hope for you yet, so long as it doesn't look like Trump's Tribble.
I agree, FOSS It! (Score:4, Interesting)
Most /.'ers on here will spout off at how bad visual basic is/was. They'll lean on their programmer armchairs and say it was a horrible language let it die.
But in reality most of these /.'er probably haven't touched code in their life. VB targets someone who wants to make a graphical Windows program without much fuss. Sure, some people can spend 3 years of their life learning C/C++ then another year or two learning a Graphical API to produce a Windows program. (Or pay someone $100k a year to do it.) Or they can learn python in a year and a python API in another 6 months. (Or pay someone $75k/year to do it.) But for many programs this is overkill. That's why Basic exists, this is why VB, Gambius, QTBasic, beOS-Basic and many more existed. Sometimes you don't need a scalpel to do the job of a hammer.
Was VB6 over used? Yes. The real issue with VB stemmed from the corporate environment. The problem was two fold, firstly you never got fired for using Microsoft, and secondly, VB programmers were much cheaper than C/C++/Java etc. There are many complex programs out there in VB that should have been done in a lower language. Specially in the business world. But that does not make VB bad. VB is quite useful for 'basic' programs. .Net failed to understand this. I believe Microsoft saw how many complex VB applications existed in the business world. So they made .net more complex than it needed to be. In doing so it lost its point.
All of this said, I believe Microsoft should FOSS VB6. But I also believe that if the VB community wants VB, they need to make their own VB. A free, cross-platform, basic with a visual editor using QT or wxwidgets would be far more useful for many over the long haul than trying to revive a dead language for an extremely slowly dying OS.
(Disclaimer, I used VB5 in high school school to write IRC clients and Trojans before moving on to C++ for the last 20 years or so. ;) )
I'll go you one up (Score:3)
It's a good proposal. I'll give you an even better one. OPEN SOURCE WINDOWS XP (or 2000, or 4.0; I don't care, any of them would be golden, but XP has a better starting point for supporting newer classes of devices). If Microsoft is too goddam flaming stupid and helpless to carry forward support and patching and implementing support for newer devices, to hell with the bastards. Let the community do it.
OK, look, I know why they would never do it. They bloody well know they couldn't sell their shitty newer OSs, because XP is far superior, whether or not it is free as in beer.
Nope, nope, nope. NOPE! (Score:2)
I'm starting to remember the godawful jump label based error handling.
That would be better left sealed off in whatever depths it is currently in.
I can understand if there are organizations around who still have VB6 projects they are trying to preserve their investment in and would like the tools to be maintained going forward, but I think this request is more coming from people who are nostalgic for the visual IDE with its shallow learning curve and relatively comprehensive coverage of the widget set for th
Re: (Score:2)
Re: (Score:3)
Re: (Score:3)
Why is "On Error Goto label" any worse than try/catch?
For the same goto is generally considered worse than function calls: it's all about the structure imposed. With try/catch you can only catch up the call stack. With on error goto, you can wind up anywhere you choose. Also, the try/catch is local: you get an error in this try block it's handled in the attached catch block. With on error goto, the where is set by that command (essentially a global) and it doesn't nest either.
Re: (Score:2)
I'd agree with that.
Used to use a library to handle errors ; it would produce a nice stack trace with parameter values and everything. With no syntactic sugar or reflection available the best way to do this was to use an IDE plugin to insert the code. It depended on On Error Goto but the structure was consistent and rigid.
And of course, for some of the core libraries, you needed to catch errors... because that was the only way, for example, that you knew a Collection was missing a particular key...
Is there not enough happening in the world? (Score:4, Insightful)
Re: (Score:3)
Admit it, you had fun reading these comments and it lightened your Monday morning.
VB had its place (Score:2)
DoEvents anyone? On Error Resume Next? On Error Goto?
I'd rather.... (Score:2)
I'd rather Microsoft open sourced Bill Gates' latest bowel movement.
It would smell considerably better than this stinkfest of a language but it would probably be about as much use. None at all.
VB (Score:5, Insightful)
VB6? Nah.
VB5? Nah.
VB4 / 3 - Actually, that would be quite fun. The days of a single simple toolbar, an MDI layout (wasn't MDI, but multi-window, but it was pretty usefully laid out), stupendously fast form creation and prototyping, simple language not cluttered with class-based junk, and a simple runtime.
Those early versions of VB were great. Especially when I was younger. You could get results faster than any other language (let's not get into "BASIC programmers are shite", because when you're a kid you're not interested in perfect syntax anyway).
It was literally a WYSIWYG environment inside the first major desktop GUI's that you could arrange a form in seconds, and then double-clicking any element and you could program quickly against it. It wasn't fast, it wasn't fabulous, it wasn't state-of-the-art, but boy did it teach you how to get things going quickly. And the event-driven auto-created subroutine stuff was the quickest, most useful way to get things interacting with the user. (I think that's it, actually - it was programmed with the focus on the user (the forms they see, the layout of controls, what happens when they touch them) rather than the programmer.)
BASIC was designed for one thing - to be able to learn it fast. Working in schools, I guarantee you that it does just that. Python etc. can't come close, even with prep school kids. Maybe Python etc. are more modern, better represent modern programming, have syntax that tends towards "better" programming, etc. but BASIC you can pick up in an afternoon. I know, I've got kids to do just that. Python, you're lucky if they can get the compiler/interpreter working at home in that time.
VB3 / 4 was my prototyping even as a kid. I was already doing Z80 and x86 assembler, C on the side and a myriad languages as I was exposed to them. But VB3 / 4 would let me knock up something to show someone the viability in a couple of hours, if not minutes. My friends were trying to write games for their A-Level projects, they couldn't work out how to lay them out. We did it in VB3 in minutes, including the game code which I quickly knocked up, and they saw the best way without wasting time re-writing all their code.
People really knock VB3/4 but it was the first mass-market rapid prototyping tool, which is why a lot of business apps ended up in it. Literally, ODBC integration was "drop a database control on the form". I'm sure big, expensive tools that could do that pre-dated it, but most people never saw them. VB was sold in computer stores next to business apps made with it, though.
I would love - just for "Look, this is how it would work" purposes - a VB3 / 4 that runs on modern windows, even if it didn't "compile" or anything like that. Just a quick language that you have a syntax you can use to open up the controls and make them interact. Also my first intro to in-execution debugging. The VB debugger looked like magic when it first came out, because we couldn't previously afford tools like that.
And a manual that reminded me of those early computer manuals that told you EVERY SINGLE COMMAND in the language, full syntax, restrictions, examples, etc. It was great just reading through it and thinking "Woah, I can use that".
People knock VB a lot. I'm sure it's not great for production use. But in terms of a language that entices you in and makes it easy enough for you to WANT to learn it, it's probably the last one I saw.
Re: (Score:2)
Certainly the last popular one, side by side with Hypercard. Which is utterly sad, as we could build much better environments like those nowadays for easy prototyping and easy distribution, with everything we have learned since then.
But it just seem that developers are not interested in creating those tools anymore, programming environments for people who will never learn how
Re: (Score:2)
VB3 was horrible for a lot of reasons....
Change the case of a variable, even accidentally, while typing it? Enjoy the case being flipped in every source file you have open! (I actually wrote tools to right-case VB code in a hook before they got checked in, this was so annoying).
Lots of reasons tied to it being a 16-bit environment.
Limited string table size (we would have to carefully manage the number of static strings we compiled into executables). Limited global variable count. No arrays with more than 2^
no, they have no obligation to open it (Score:2)
the lesson here isn't that Microsoft should open source their old and unmaintained stuff. The lesson here is that if you are thinking of using a new tool, consider whether the publisher is in a position to abandon it and you in the future, or whether it is Free Software that can't be unilaterally withdrawn by the publisher leaving you without the freedom to continue it yourself or find someone else to work with it.
I think we need to get out the world's smallest open source violin for those requesting the op
Wow! 85 upvotes! (Score:2)
drawing 85 upvotes
Telling the world you accidentally pooped out of a window would get you a hundred times as many on Reddit.
WHY? (Score:2)
XOJO is better than it and is cross platform. Who really gives a rats turd if VB5 is released as open source. it was locked HARD to the windows ecosystem and incredibly quirky. it then compiled pseudocode to be run by the interpreter.
The only people that want to continue it is PHB's that have some ancient apps written by other PHB's that were abominations.
How about using Gambas? (Score:3)
We already have a nice FOSS VB replacement: Gambas [sourceforge.net].
If Basic is your thing, you should use that.
So... why not... (Score:3)
... use Gambas as a replacement? If there's sufficient demand for a replacement for Classic VB, then there should be enough people interested in contributing to Gambas.
Seriously.
--
BMO
Re: (Score:2)
The -- and really, the ONLY -- thing going for VB6 is the ease of integrating rudimentary visual controls to create a GUI with minimal effort. You can get a pretty sophisticated GUI (I'm embarrassed to say that I have maxed out the number of available widgets -- text boxes, labels, drop-down selection lists, etc -- on more than one application) in nearly no time. The code that gets generated is incredibly slow, but if you're super-duper careful, you can squeeze reasonable performance out of the compiler.
Re: (Score:2)
Re: Wherefore? (Score:3)
But most people aren't trying to perform surgury. Many are just trying to beat something into a useful shape.
Re: (Score:2)
The main thing that sucked in VB6 was the string handling. It had no equivalent of StringBuilder, and String was an immutable class, so every time you concatenated two strings of length N it allocated a 2N buffer to hold them and copied the data.
You could get around this by rolling your own string handling routines to compensate for this.
The other main thing that sucked was a lack of decent error handling, but with some good libraries and an IDE plugin to make using them less tedious you could have proper s
Re: (Score:3)
Delphi absolutely killed VB on this front. It had all the visual drop and drag chops , tied to perfectly servicable modernization of Pascal that dropped all the "crap at IO" features of old Pascal, and added a robust C++ like object model. Plus if you really had to you could still use those VB active-x controls. But more often then not more competently implemented alternatives where available in Delphis vast open source ecosystem.
Unfortunately Borland was/is a horrible company that continuously canibalized
Re: (Score:2)
Borland wasn't always like that. Something had changed in the Delphi era.
Turbo Pascal and Turbo Basic were extremely accessible back when a compiler from most vendors was the opposite of accessible and affordable.
Re: (Score:2)
Re: (Score:2)
"extend it and add modern constructs to make this a less painful framework to deal with."
Like VB 14, included in VS2015? :)
According to the article runtime support is still available in Win 10 until 2025. Does the IDE itself no longer work in Windows 10, or is it just that developers are pushing for an updated toolchain that emits binaries optimised for armv8 (surface phone) or x86_64?
Re: (Score:2)
The
Re: (Score:3)
Shameful disclaimer: I work for a company that refuses to burn C++ 6, VB6 and
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
For that, we already have the source of Turbo Pascal, which is much more usefull (although not very adaptable being almost 100% inline assembler).
Re: (Score:2)
I don't see how that's useful at all actually. We've had FreePascal for almost 20 years now, which is complete, has replacements for every signficant TP library and even a complete replacement for the Delphi libraries (with full comprehension of the ObjectPascal dialect) which has been used to implement Lazarus - a complete free Delphi replacement.
Now I have't coded with any of these things for well over 10 years but they do exist and frankly if you need them (for example to port an old TP or Delphi app to
Re: (Score:2)
It felt like I was the only person with a CS degree who tried to use classes in VB6 and had some idea what was going on.
Hahaha, yes, I had co-workers who looked at me like I was some kind of lunatic for using the "Implements" keyword for it's intended purpose of polymorphism.
"Well, I can see it's elegant, but will people be able to understand it...."