Microsoft Urged to Open Source Classic Visual Basic (i-programmer.info)
"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."
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.
... lets let smallpox out of those freezers.
All the .NET apps i've ever had to use (and install huge runtimes for) have been glorified VisualBasic applications.
I for one would like to see "Visual Basic 1.0 for MS-DOS" opened up.
What you hear in the ear, preach from the rooftop Matthew 10.27b
I Just Felt The Need To Make A Post With The First Letter Of Every Word Capitalized.
On one hand yes, it would be nice to see VB6 open sourced so the the community could extend it and add modern constructs to make this a less painful framework to deal with.
On the other hand no. Let it die. VB6 should be considered harmful, and I am loathe to give its adherents the ability to Frankenstein it into some horrific mishmash that will keep it alive for any longer.
If you're not going to maintain a platform, you should open-source it so people who care about it aren't abandoned without hope. I don't like VB but the way Microsoft dropped it was not good.
"First they came for the slanderers and i said nothing."
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.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
MSFT should at least do their part and give something back.
(Yes, I did a comparison between MS BASIC and RSTS BASIC at the time)
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.
If I had a DeLorean... I would probably only drive it from time to time.
Microsoft has open sourced .NET Core and the .NET Compiler Platform Roslyn, "but it has explicitly refused to open source VB6
That's likely because internally it has enough gaping holes to drive a Mack truck through, and open sourcing it would reveal those to the world. Sad as it may be, there's still a lot of VB6 running out there, particularly in vertical enterprisey spaces. If there's a string parsing buffer overflow / heap spray, for example, having that leak out could cause big expensive problems for a lot of people.
Its entirely possible classic VB contains code that Microsoft licensed from 3rd parties and is unable to open source.
I don't know about VB6 specifically. At some point in VB's history my brother showed me some VB he'd written. It was practically C. ISTR thinking "why don't just write in C?" Maybe I even said it out loud?
There are a couple of of Open Source C compilers for Windows. And Eclipse. For $Deity's sake, just use them.
I'mJustHereToTellYouThatYou'reWastingSpace.
I've fallen off your lawn, and I can't get up.
Maybe the source is just too large to distribute??
Use Gambas instead.
I have messed with Gambas and it is amazing what you can do with it!
The word "Classic" is way overused.
You are welcome on my lawn.
is probably quite embarrassing.
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. ;) )
Such gravitas!
Basic For QT
Stop the presses! 85 upvotes is MADNESS!
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.
I hope they will study this and learn how to write quality compilers from it.
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?!?!?
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 the platform, and for those people what you really want is a better IDE for a different programming language.
Since when does "someone posted on a forum begging for something" count as news?
You got a beef with them? Where's the beef? Where's the little old lady looking for the beef? She's dead. That's right. She is. Would you deprive her of the wayward beef? Why? Let these 85 people have their beef already!
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 all funny unless you leave fat ugly margins. You have to test on like 25 browser/OS variations or more to rule out funny shuffling. I FUCKING HATE THAT!
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.
Table-ized A.I.
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.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
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.
Table-ized A.I.
I accidentally bumped Submit prematurely. Sorry about the bold font.
And it should be "fad or style" instead of "fad style".
Table-ized A.I.
But in 25 years things have improved quite a bit, and there are things in old-style VB that I can't imagine having come back. I honestly don't remember which version of VB some of them were in (3? 4? 6?)
DoEvents anyone? On Error Resume Next? On Error Goto?
fencepost
just a little off
MS code written way back in the day... undoubtably there are things in the VB6 code base that will at the least be embarrassing, at the worst...
I'm sure it's been done 100000 times, but Visual Basic 6 is a simple language and can easily be reimplemented with modern tools.
I haven't bothered to waste my time with it, but I've implemented at least 3 languages of somewhat similar complexity over the past two years and frankly, since VB6 didn't really focus much on performance, it would be relatively trivial to write a runtime which executes directly from the AST and a VB6 parser can't possibly be hard to implement.
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.
The Machine stops.
Can't help but reminds me of Peter Gregory from Silicon Valley :)
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.
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 opening of visual basic.
drawing 85 upvotes
Telling the world you accidentally pooped out of a window would get you a hundred times as many on Reddit.
systemd is Roko's Basilisk.
VB6 is nice. It's not elite. But its easy and fast. It has a clump of bad programming language design decisions in it, but for what it is supposed to be -- it was newbie friendly.
It wasn't supposed to be an elite programming language, just an effective one that let new comers actually get things done.
This is a *HUGE* problem not only with VB6. it should be a legally enforceable condition of being able to sell software that when you no longer wish to support it you *HAVE* to open source it. It's obscene that users can quite literally have the tools they use to make a living taken away from them by arbitary third parties.
I'm in this position as I have 20 years worth of work that I've done in Logic Audio for Windows which I can no longer access as the version of Logic for Windows that I have will not run on my current PC hardware (the old motherboard died) Can't rework anything on a Mac version as there's no support for the VSTs I used.
It's a complete disgrace companies are allowed to treat users in this way.
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.
Do not look at laser with remaining good eye.
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...."
Python is a beautiful 25-year-old language being used in enterprise environments;
and as the wikipedia article summarises, the core of the language is about: -
* Beautiful is better than ugly
* Explicit is better than implicit
* Simple is better than complex
* Complex is better than complicated
* Readability counts
... which is a philosophy any developer working in a corporate environment should take to heart, especially readability, simplicity, and maintainability!
Whereas, the reason javascript is still somewhat of a joke is because of it's past and starting as a scripting/"dhtml" language;
and thus the reason why any mature/wise developer with over 10 years of experience can't take crud like AngularJS and Node.js seriously, along with countless other frameworks released monthly for the kiddy hipster.
i.e. the language, and especially frameworks, need time to mature before being adopted in enterprise and large corporate environments where it needs to scale while maintaining performance.
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.
I did a Java 1.1 programming course alongside a VB expert back in 1998 - he crashed and burned after not comprehending OO at all.
WYSIWYG was nice in theory. But you never really did get what you saw once your client opens the document on a different machine, or once you send the document off for a bulk printing run. WYSIWYG was just like Powerpoint... a horrible crutch that retarded the development of formatting skills and logical reasoning.
Its reliance on COM/ActiveX was. It was ground zero for DLL Hell.
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.
What you see now is what you get now, but what do you get when you change something? Try adding some text to a PDF page, for example. It will nicely overlap whatever comes after it. And we know that the only constant thing is change.
There's a comma missing before the italicized clause. As it stands, the sentence means they open sourced .NET 25 years ago.
Now that's just silly. It's theirs. Microsoft wrote it, Microsoft owns the code, Microsoft can do whatever the hell it wants with it.
Not going to happen. Microsoft even removed VB6 from MSDN downloads years ago citing expired licenses as a reason and said that it's ok to use it as long as you have the license and got it for an example on MSDN CD set, but no downloads any more. If they can't even keep the thing downloadable for their paying customers I bet it is going to be "a little bit" far fetched to think that they would go through the trouble of open-sourcing it.
I haven't touched any MS products in much more than a decade, but I liked Visual Basic for its easy way to create a GUI application. Now using Linux, I discovered Gambas, which does about the same stuff. There are some differences, especially controls not being arrayed, but it works great with very few bugs.
We already have a nice FOSS VB replacement: Gambas.
If Basic is your thing, you should use that.
We suffer more in our imagination than in reality. - Seneca
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.
In other words, programming languages are religions.
I think it'd be fun to crawl through that old code.
Here is the dictionary definition of "classic":
Calling Visual Basic 6 "classic" is a misuse. It's a common misuse, mind you. And that's why I say that the word "classic" is overused.
You are welcome on my lawn.
I am holding out for them to open source Microsoft Bob and Clippy. They were awesome personal assistants, long before the likes of Siri and Google Now. Clippy was especially useful when sending an important letter.
The last thing the world needs is more VB coders. Have you ever tried to walk through code written by a new programmer in VB? Please just shoot me instead.
Visual Basic 6 was an acceptable procedural language, nothing to see there.
But usually, VB6 developers did not use solely VB6, they had to use the awful and crufty MS Office controls and APIs. The damn thing crashes for no reason, had awful performance on MS Access queries (a smoking pile of whatever is you hate the most), everything around MS Office to VB6 connectivity was terrible. And worse than terrible, it usually did not even work and was heavily under-documented. Random crashes, crazy behaviors, name your nightmare; it was in there too.
So no, I do not see the point of open sourcing VB6 as it will give us no access to all these APIs that may have be useful if they were working properly.
Stupidity is the root of all evil.
What is with all the hate towards JavaScript and Python, especially JavaScript?
Criminals have used major web advertisement networks to push ransomware to machines running web browsers. Blocking execution of JavaScript blocks the execution of the script that surreptitiously downloads and installs the malware.
At least in VB6 you have the _possibility_ of declaring a variable type.
The same is true of mypy, a static type checker for Python.
VB was the first programming language I had seriously gotten into back in ~1996. In that respect, I see it fondly and wouldn't mind having a open source version of the language and IDE I could use to poke around some of my oldest projects. Though from every other aspect, I feel that the language is antiquated and there are much better options out there. Winforms .NET is just fine for graphical business applications, which I do a lot of in contacting situations. Just recently I was asked to convert around 20 classic VB projects into .NET. That was a quick reminder that the language could be easily abused and used to produce garbage code. The jewel of that project was a 5000 line program that was basically a single sub program loaded with goto statements, classic VB specific functions, and COM interop code.
Usually PDF publishers don't want people messing around with copies of their documents anyhow.
There are ways to mitigate such anyhow with certain internal markers to delimit paragraphs etc. That is, visuals splits versus semantics splits, as illustrated below, but so far there is not much demand for such, except maybe for accessibility purposes.
Table-ized A.I.
If VB were to be open sourced some poor misguided fool might start using it to teach kids how to code in a simple point and click environment when they could be learning how to create responsive web pages! Why bother learning to do it yourself when you can just pull in megabytes of other peoples code to do your left padding!
Average Intelligence is a Scary Thing
FPC - GPL, a very complete environment (Lazarus offers a nicer IDE)
P5 Pascal - public domain (fork of one of the original Pascal systems)
GNU Pascal
IP Pascal
etc
All of which are more powerful than VisualBasic and not really any more difficult to use. (my opinion)
“Common sense is not so common.” — Voltaire
Microsoft is not making any money off Classic VB anymore, and there is a lot of libraries and source code examples for it.
I made my living writing in Classic VB in the 1990s and up to 2002. It was easy to learn because it was like every other form of BASIC from the 8 bit era. VB.Net changed things and made it more like Java.
For those who have Classic VB projects and want to convert it to run on JRE look at Jabaco which can convert some Classic VB code to a JAR file. It is like Java based on Classic VB but misses some parts of Classic VB so you have to convert some code.
Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
A lot of sites/apps get auto-flow wrong. Maybe a UI expert or top guru can figure out how to get auto-flow to work properly on all devices, but us mere mortals struggle with it. Any overly-complicated tech can be "justified" with "if you were just smart enough and/or spent enough time learning it, it will work".
That's a crock. Presentation of everyday things should NOT require rocket science.
To use hypothetical numbers, let's say WYSIWYG takes 10 units of learning to master, while auto-flow takes 200 units to master. It's not worth 20x the learning cost to gain the SMALL benefits auto-flow have over WYSIWYG.
The costs are not economically logical in my book. It's a lot of resources spent for very minor gains, and if a shop skips the additional effort, they will have screwy interfaces that wrap wrong or have blanked out overlaps of CSS collisions, which is what is often found.
I suspect auto-flow is being protected by those who want job security dealing with its finicky intricacies. Similar arguments were used by assembler coders against higher-level languages.
F auto-flow!
Table-ized A.I.
So is autoflow. But autoflow fails in practice. PDF's transfer better than HTML in my experience.
... 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
"Young" Bill Gates in 1991? He was about 36 at the time. Yes, in some contexts that is young, but I would say not in the context of a tech article, especially since MS was about 16 years old at the time.
I would like to see the code for the older QuickBasic and QuickC for DOS open sourced just to learn from how they were written.
I would actually rather like to see QuickBasic and MS-DOS 6.22 open sourced...
I get so sick of these 90s era C++ programmers and their BS about VB6. Look guys, programming is about money or masturbation. Not everyone aspires to a clear, comprehensive, abstract understanding of the world of software development where we can admire our perfectly formed programs in a clean platonic space.
Most of us are or weren't academics at all. We were grunts who have to get shit done. We weren't architects. We were bricklayers and carpenters. For us, VB6 fit the bill. It was scaffolding for databases and anything else you needed that was quick and dirty. When you needed something better, you moved to C, C++ and later, Python.
Please do not read this sig. Thank you.
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 parameters that are Still not in C++. And ti is certainly much, much more productive than C/ C++. .Net is better and has modern compilers that produce code that is often better than C / C++. But it is also a huge monster. And not actually much more productive for simple business apps.
The big one is Excel. Microsoft would love to kill of VBA that is in it. But as a professional developer, I can an VBA ap going much quicker than a .Net one. And end users have no hope of dealing with .Net deployment issues.
Because it has static typing. End of story.
Not that I like or condone the language, but the old VB6 (and .NET WinForms) front-end designers (aside from missing CSS-like styling) remain better than what MS offers now... WPF, which is a total mess in terms of unnecessary complexity, or anything AT ALL targeting the train wreck we call HTML.
I'm talking in terms of applications where someone's trying to actually perform useful work, not "content consumption" / etc.
And don't give me that straw-man argument that you can't achieve good SoC without MVVM / MVC / M** and point to something from coding horror as an example.
Wiktionary, which I know is not an authoritative reference in language but does a respectable job most of the time, says:
5. (euphemistic) Traditional; original.
VB6 string handling is far better than any other programming language I have seen ! You do not know how to work with VB6. Did you heard of the VB6 split function ?????!!!!!!
Actually people generally don't even try to use HTML documents for formal printing and publishing, unless backed into a corner. It's because it's so unpredictable.
Table-ized A.I.
And your analogy shows even better the problems of VB6.
A tool is a tool. And can easily be used with your bare hands. :-P)
A hammer is still a hammer, no matter what.
If you have a nail that you need to hammer into a wall, you can go to any hardware store and buy one. And you know that you'll be able to use it.
You have the confidence that you'll be able to user it.
It might be an expensive solid tool that will last a quater of centurs. Or a cheap one that will break by the end of the third nail. But you know how to use it.
(unless it's a PHP Hammer
Standard language (like C/C++ when standard compliant) are like this.
If Bjarne Stroustrup goes banana and decides that the next version of C++ standard will be a mix of (worsts parts of) Java / PHP / COBOL and BrainFuck.
You can still ignore him and use any sane compiler implementing a standard that you like (say C++11)
VB6 is as much of a tool as a razor with a custom head that you can swap instead of more or less rasor blade.
Yes, you can also do things with it.
But you're at the mercy of the brand making these razors. Maybe tomorrow they'll decide to change everything or plain stop producing razors and you'll be left alone with a useless razor handle that you can't use with any other razor heads (Unless you go for some cheap chinese clone from some shaddy part of TaoBao), (or unless you've stashed a huge supply of replacement heads in case this happens).
It's not a tool, it's an embodiment of the lock-in marketing trick (and rasors with weird heads is a common metaphor for it).
You're at mercy of whatever goes through the head of Microsoft's heads. .NET platform).
And Microsoft *has gone* bonkers and *DID* decide to throw away VB6 and bet everything on VB.Net (a distant cousin of Java, but instead with a much more verbose syntax than C# - the flahship language of Microsoft's "I can't believe it's not Java"
And now you're left with a huge bunch of legacy code that contains all your important business logic that you've painstakingly build over years, investing huge amounts of money to get more or less into a working state.
Your only solution is trying to improvise something with one of the approximately "more-or-less comptaible" open source re-implementation like Gambas. And hope that fixing your VB6 code to work under these conditions won't cost way much more than paying for a full re-write (and re-testing / re-certifying the rewritten shit).
Or alternatively, learn the necessary necromancy skills, to be still able to keep the old hardware alive, so you can run the older Windows XP on it that seems to be the only one on which you can run your VB6 monstruosity.
Yup, VB6 doesn't have much the same portability and absence of lock-in that hammer has.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
But now, C# and PowerShell are the tools to get things done in windows in my opinion.
Nope. Bash is.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
VB was always easier for "non-programmers" to make their own apps. Believe it or not a lot of people that have created useful apps for their companies do not consider themselves programmers. Unfortunately, VB.NET was a bridge too far for these people to learn.
Instead of lamenting a VB, which hasn't been updated in nearly 20 years, consider using something more modern, but similar: Xojo (http://blog.xojo.com/2013/06/19/a_great_alternative_to_visual_basic/). Not only can it make desktop apps (for Windows, OS X, Linux and Raspberry Pi), but it can create web and iOS apps as well.
"...complains that in the 25 years since Microsoft has open sourced .NET Core and the .NET Compiler Platform Roslyn..."
Has it really been 25 years since .NET Core and Roslyn? I must have been in a coma for most of it.