Slashdot Mirror


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."

18 of 331 comments (clear)

  1. ummm.no. by lord+merlin · · Score: 5, Insightful

    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.

    1. Re:ummm.no. by hairyfeet · · Score: 5, Insightful

      Wow...elitist much? There is absolutely nothing wrong with VB6, just because you have seen sloppy VB code don't mean shit as I can go over to stack overflow and find examples of shitty code in any of the new hip languages that you like.

      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.

      So instead of being elitist why not just except that every language has a place and it serves NO purpose to not open up the code, or are you just against open source in general? Because frankly I find it quite shocking that so many here would actually be against opening the source to ANY code that is now proprietary,what happened to /. being a big pro FOSS site? I really can't picture someone asking RMS if VB should be released under say the GPL he would go "Naw fuck that shit man, some things shouldn't be given to the people!" can you?

      --
      ACs don't waste your time replying, your posts are never seen by me.
    2. Re:ummm.no. by silentcoder · · Score: 4, 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.

      --
      Unicode killed the ASCII-art *
  2. Maybe it's a good thing by Anonymous Coward · · Score: 2, Insightful

    All the .NET apps i've ever had to use (and install huge runtimes for) have been glorified VisualBasic applications.

  3. Should have done it a long time ago by phantomfive · · Score: 4, Insightful

    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."
  4. Sense of entitlement, anyone? by BarbaraHudson · · Score: 4, 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.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  5. Let it fade into memory by LesFerg · · Score: 4, 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.

    --
    If I had a DeLorean... I would probably only drive it from time to time.
  6. Exactly! by tlambert · · 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
    * Have to have someone "upgrade" their entire business IT infrastructure to .NET (hope it works!)
    * Re-buy all the components they were using
    * For the components they were using that aren't available on .NET, pay someone to rewrite them from scratch
    * 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?!?!?

    ...wait. I'm beginning to see the problem here...

    1. Re:Exactly! by rtb61 · · Score: 3, 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.

      --
      Chaos - everything, everywhere, everywhen
    2. Re:Exactly! by Dutch+Gun · · 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.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    3. Re:Exactly! by nine-times · · Score: 4, 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.

  7. Is there not enough happening in the world? by rebelwarlock · · Score: 3, Insightful

    Since when does "someone posted on a forum begging for something" count as news?

  8. VB by ledow · · Score: 4, 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.

  9. Re:They may not be able to open source it by jonwil · · Score: 4, 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.

  10. Re: Corrections [Re:Why Mainframes Live] by segedunum · · Score: 4, 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.

  11. Re: Corrections [Re:Why Mainframes Live] by LWATCDR · · Score: 4, 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.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  12. Re: Corrections [Re:Why Mainframes Live] by RabidReindeer · · Score: 4, 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.

  13. Re: Why Mainframes Live [Re:Exactly!] by Anonymous Coward · · 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.