Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Microsoft Open Source Operating Systems Programming Windows

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."
This discussion has been archived. No new comments can be posted.

Microsoft Urged to Open Source Classic Visual Basic

Comments Filter:
  • ummm.no. (Score:5, Insightful)

    by lord merlin ( 753130 ) on Sunday May 22, 2016 @08:33PM (#52162113)
    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.
    • God yes. I hated debugging long complicated mathematical calculations that returned "Q" under certain circumstances.
      • You never watched ST:TNG?

        When something strange happens, it's always Q.

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

      • by rakslice ( 90330 )

        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:ummm.no. (Score:5, Funny)

      by Billly Gates ( 198444 ) on Sunday May 22, 2016 @10:58PM (#52162589) Journal

      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)

      by account_deleted ( 4530225 ) on Monday May 23, 2016 @12:36AM (#52162785)
      Comment removed based on user account deletion
      • Re:ummm.no. (Score:5, Informative)

        by TheRaven64 ( 641858 ) on Monday May 23, 2016 @03:20AM (#52163121) Journal
        I have actually seen well-written VB6 code. Once. But it worked as an existence proof. It's actually quite a bit easier to write good VB6 code than it was in earlier versions of the language. Most of the VB hate comes from the fact that it was so easy to use that it attracted a load of really bad programmers. These days, most of those folks have moved on to Python.
        • Re:ummm.no. (Score:5, Insightful)

          by silentcoder ( 1241496 ) on Monday May 23, 2016 @03:52AM (#52163193)

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

          • 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)

        by dunkelfalke ( 91624 ) on Monday May 23, 2016 @04:02AM (#52163237)

        Delphi can do everything VB6 can, but much better.

      • by LWATCDR ( 28044 )

        "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

    • 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

    • It is not going to die I'm afraid. There are still countless applications written in it that will simply never be rewritten. Microsoft lost the backwards compatibility religion some time ago, as Joel Spolsky pointed out over ten years ago. People who say "Let it die" have absolutely no idea what is written in it, and what they actually depend on themselves if they've never even written a line of VB.
    • Much as I hate all things VB there's still a lot of VB6 legacy code out there not to mention all the VBA. If they open source it perhaps it will breath life into all that code. Also if it's open sourced and maintained by passionate programmers perhaps it will cleanly evolve over time into something people actually like to use.
    • 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

  • by AmazingRuss ( 555076 ) on Sunday May 22, 2016 @08:35PM (#52162115)

    ... lets let smallpox out of those freezers.

  • by Anonymous Coward
    All the .NET apps i've ever had to use (and install huge runtimes for) have been glorified VisualBasic applications.
  • I Just Felt The Need To Make A Post With The First Letter Of Every Word Capitalized.
  • by phantomfive ( 622387 ) on Sunday May 22, 2016 @08:49PM (#52162175) Journal
    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.
    • 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

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

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

  • by LesFerg ( 452838 ) on Sunday May 22, 2016 @08:52PM (#52162189) Homepage

    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.

    • by eWarz ( 610883 )
      While I do disagree with the proposal in general, VB wasn't about OO, it was about "getting shit done". For the same reason that a lot of people did bat-shit insane stuff in excel, in VB you could whip out an app in record time compared to other languages and frameworks. Note that this niche has been filled, NOT by anything Microsoft or fan-made, but by none other than Ruby on Rails. The same reason why VB is popular (quickly and easily able to build apps while also having the ability to access the low le
  • by jonwil ( 467024 ) on Sunday May 22, 2016 @08:55PM (#52162207)

    Its entirely possible classic VB contains code that Microsoft licensed from 3rd parties and is unable to open source.

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

      • by jonwil ( 467024 ) on Monday May 23, 2016 @02:31AM (#52163007)

        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.

    • Or that they feel ashamed of how the code looks like.
  • by Anonymous Coward on Sunday May 22, 2016 @09:09PM (#52162255)

    Maybe the source is just too large to distribute??

  • by PopeRatzo ( 965947 ) on Sunday May 22, 2016 @09:22PM (#52162285) Journal

    The word "Classic" is way overused.

    • The word "Classic" is way overused.

      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

      • 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)

    by Anonymous Coward on Sunday May 22, 2016 @09:36PM (#52162321)

    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. ;) )

  • by fnj ( 64210 ) on Sunday May 22, 2016 @10:26PM (#52162489)

    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'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

    • It must remained buried in the depths of the non-Eclucid geometrical catacombs beneath R'lyeh. If released it will consume all our souls!
    • Why is "On Error Goto label" any worse than try/catch?
      • 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.

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

  • by rebelwarlock ( 1319465 ) on Sunday May 22, 2016 @11:03PM (#52162603)
    Since when does "someone posted on a forum begging for something" count as news?
  • 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?
  • 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)

    by ledow ( 319597 ) on Monday May 23, 2016 @02:24AM (#52162993) Homepage

    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.

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

      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

    • 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^

  • 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

  • drawing 85 upvotes

    Telling the world you accidentally pooped out of a window would get you a hundred times as many on Reddit.

  • by Lumpy ( 12016 )

    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.

  • by Qbertino ( 265505 ) <moiraNO@SPAMmodparlor.com> on Monday May 23, 2016 @07:11AM (#52163691)

    We already have a nice FOSS VB replacement: Gambas [sourceforge.net].

    If Basic is your thing, you should use that.

  • by bmo ( 77928 ) on Monday May 23, 2016 @02:45PM (#52166927)

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

One half large intestine = 1 Semicolon

Working...