Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming Microsoft

Something Pretty Right: a History of Visual Basic (retool.com) 124

Long-time Slashdot reader theodp writes: In Something Pretty Right: A History of Visual Basic, Retool's Ryan Lucas has a nice round-up of how Visual Basic became the world's most dominant programming environment, its sudden fall from grace, and why its influence is still shaping the future of software development.

Visual Basic (or VB) burst onto the scene at a magical, transitional moment, presenting a radically simpler alternative for Windows 3.0 development. Bill Gates' genuine enthusiasm for VB is evident in an accompanying 1991 video in which BillG personally and playfully demonstrates Visual Basic 1.0 at its launch event, as well as in a 1994 video in which Gates thanks Alan Cooper, the "Father of Visual Basic," with the Windows Pioneer Award.

For Gates, VB was love at first sight. "It blew his mind, he had never seen anything like it," recalls Cooper of Gates's reaction to his 1988 demo of a prototype. "At one point he turned to his retinue and asked 'Why can't we do stuff like this?'" Gates even came up with the idea of taking Cooper's visual programming frontend and replacing its small custom internal language with BASIC.

After seeing what Microsoft had done to his baby, Cooper reportedly sat frustrated in the front row at the launch event. But it's hard to argue with success, and Cooper eventually came to appreciate VB's impact. "Had Ruby [Cooper's creation] gone to the market as a shell construction set," Cooper said, "it would have made millions of people happier, but then Visual Basic made hundreds of millions of people happier. I was not right, or rather, I was right enough, had a modicum of rightness. Same for Bill Gates, but the two of us together did something pretty right."

At its peak, Visual Basic had nearly 3.5 million developers worldwide. Many of the innovations that Alan Cooper and Scott Ferguson's teams introduced 30 years ago with VB are nowhere to be found in modern development, fueling a nostalgic fondness for the ease and magic VB delivered that we have yet to rekindle.

This discussion has been archived. No new comments can be posted.

Something Pretty Right: a History of Visual Basic

Comments Filter:
  • When I was a system admin part of my duty was to write custom software for the company VBDOS and VBWIN allowed me to do that with relative ease. I could crank out something useful very quickly. Them came .Net, ugh.
    • "Then" came .NET - so choked up I can't type.
      • I remember Visual C and thinking that Wow, Microsoft didn't screw up a product! Then came Visual Studio...

        • Visual Studio is an amazing tool. I don't know what you are going on about

          • Tahiti....it's a magical place.
          • The help system broke for one. Old Visual C used the help file format. When you wanted help on the function you got help on that function directly, like a man page. Visual Studio went with html so they were all written from scratch. When you wanted help on a function you got a big overview of lots of functions instead of just the one you wanted. That was release 1, and sloooowly it might have improved but as of 2000s it felt rather lacking still.

            • The file format for the help doesn't matter at all. You press f1 in the context you want help, and it either launches the help viewer, or IE. Its function was never different

              • I didn't say the format mattered, only that the content was different. They didn't convert the old help, they wrote new help to replace it and it wasn't as good.

    • No VB variant was good, all have permitted bad programming practices.

      • Re: VB was fun (Score:4, Insightful)

        by Bearhouse ( 1034238 ) on Saturday March 18, 2023 @07:31PM (#63381297)

        Indeed, but that was not the point. It was about making 'programming (ahem) more accessible. Which it did.
        Thanks to the law of unintended consequences, this then led to enthusiastic amateurs spending hours crafting business-critical applications without any experienced oversight, with endless hilarity being the result.
        Rather like Excel macros, or ActiveX; I'm sure many of us here have plenty of horror stories about replaces systems build those.
        My fav? A Financial Director who'd spent untold hours writing an entire Fixed Assets management system in Excel; proudly showed it to me. I typed in a few invalid values (negative numbers, bad dates) and of course it shit the bed every time...a few weeks later his PC crashed (no backups) and he lost everything.

        • Re: VB was fun (Score:5, Interesting)

          by Mascot ( 120795 ) on Saturday March 18, 2023 @08:01PM (#63381371)

          In addition to accessibility, it also made creating applications a lot faster. I remember a friend of mine catching some derision from the community when he started using VB back in the day. He didn't care much, as he could finish projects in a fraction of the time he otherwise could have and most customers paid for the product not the hours. He was always an advocate of picking the right tool for the job, and quite often he found VB fit the bill just fine.

          Coincidentally, Excel macros are a significant part of my work output still. Building business critical solutions for global companies is perfectly viable, you just need to know what you're doing and your customers to be aware of the differences between a custom built VBA solution versus a "built to survive any user" actual application.

          • Re: VB was fun (Score:5, Interesting)

            by narcc ( 412956 ) on Saturday March 18, 2023 @11:09PM (#63381655) Journal

            Everyone seems to forget that tools that are easy to use are easy for everyone to use. If you were cranking out CRUD apps in 1996, you'd have to have been a fool not to use VB. You could easily do in an afternoon what it would take you a week to do in VC++.

            That you could hire a high-school kid and have them be productive almost immediately was also nice. I often wonder if that's why no one makes tools as accessible as VB was these days.

            • People also seem to forget that special purpose "applications" do not need to be perfect in every way. Sure I work at a place with literally endless Excel documents with full VB apps written inside them (not just moving some cells around but with forms, input fields, file I/O etc). Yeah those programs break when you look at them funny, but they aren't supposed to be robust, they are supposed to do the job. "Inserting a negative number here breaks it". The answer is on the front screen to put a comment "Don'

              • People also seem to forget that special purpose "applications" do not need to be perfect in every way. Sure I work at a place with literally endless Excel documents with full VB apps written inside them (not just moving some cells around but with forms, input fields, file I/O etc).

                You just described many large companies in pretty many (if not all) industries.

                I have not encountered a single large company in the pass 2 decades without all sorts of Excel files being used all over the place. And I have been involved with / had an insight into various large companies.

        • Comment removed (Score:4, Interesting)

          by account_deleted ( 4530225 ) on Saturday March 18, 2023 @10:47PM (#63381641)
          Comment removed based on user account deletion
      • Re: VB was fun (Score:4, Insightful)

        by narcc ( 412956 ) on Saturday March 18, 2023 @10:53PM (#63381643) Journal

        No VB variant was good, all have permitted bad programming practices.

        You mean like every other language on the planet? There is no language that prevents "bad programming practices". If anything, VB actively discouraged many of the absurdities we see today.

        See, VB was limited in ways which helpfully kept bad programs from getting too wildly out-of-control. One nice thing about working on a really terrible VB project, as opposed to a terrible C++ or Java program, was that it wasn't all that hard to figure out what it was doing and why. You never had to wade through 3000 lines worth of 'design pattern best practices' that don't ultimately do anything added to 'future proof' the code.

        • by Z00L00K ( 682162 )

          VB is one of the languages that permit more bad programming habits than many other languages.

          • by narcc ( 412956 )

            What bad habits, specifically, do you think it permits that other languages don't? What about VB makes you think it permits more "bad habits" than other languages?

            Given the languages simplicity, I wonder how you'll make your case.

          • VB is one of the languages that permit more bad programming habits than many other languages.

            Just saying something doesn't make it true. Come up with something more concrete. You have no authority to appeal to here.

        • I don't believe VB "encouraged" bad practices significantly more than other tools.

          It's more that VB had a quicker learning curve to get "good enough". This brings in more amateur and ad-hoc programmers not versed on better programming practices.

          Languages and tools with big learning curves generally discourage amateur and ad-hoc programmers, for good or bad. It's a "reputation conundrum".

          As far as "separate domain logic from UI logic" ("Separation of Concerns"), this generally only matters in complex tools/

  • by UnknownSoldier ( 67820 ) on Saturday March 18, 2023 @07:18PM (#63381273)

    Did someone just discover CSS because that website is utter garbage with that shitty mouse trail distraction and horrible layout. Roughly 46% of the page is margins!?

    The only reason VB took off because programming Win32 with C / MSVC was so verbose and tedious until Microsoft shipped MFC.

    MS ticked off a lot of developers when they dropped VB 6.0 and migrated to VB.net which wasn't backwards compatible. Great job guys! /s Piss off the developers who actually used your product! I never did but I had a friend who did and I remember him saying the community was pretty upset at Microsoft's "dismissive" attitude towards developers who supported the product.

    It is rather ironic MS rose to fame through shipping BASIC on all the 8-bit computers (Embrace) and then shipped their own proprietary version (Extend), and the dropped VB 6.0 (Extinguish.)

    • Definitely getting a strong Homer Simpson's Web Page vibe from that. I want to read the article, just not on that site.

      • by caseih ( 160668 )

        Fortunately the page becomes quite readable when you click the "Toggle Reader View" icon in Firefox.

        Interesting bit of history, particularly how Cooper was horrified with what MS did to his original project, ripping out most of what he did and putting in a BASIC dialect.

        • by narcc ( 412956 )

          I'm not seeing much of a difference in reader view? The column width is almost identical, which seems to be what the parent was complaining about in the first place.

        • Thank-you for saving my eyes from that clusterfuck! (F9 in Firefox.) If I was a designer for that garbage (Cam Sackett and Justin Pervorse) I'm not sure I'd want my name to be listed under TOC > Info > Contributors.

          I guess it is "cute" that the top-right menu is done in a Windows 1.0 theme. Did you find the Easter Egg (Solitaire) with the broken scroll bars?

          I didn't realize there was so many BASIC implementations and compilers on the Apple 2!

          * Applesoft
          * Beagle Compiler
          * Blankenship BASIC
          * CBASIC (C

    • But you still got to use the absolute joy that is msoTriStateBoolean (they've since changed the name and type for obvious reasons)...
      https://learn.microsoft.com/en... [microsoft.com]

    • by fafalone ( 633739 ) on Sunday March 19, 2023 @04:30AM (#63381905)
      They released an "upgrade tool" to "convert" your VB6 projects to .NET. It was an absolute joke. If you had anything more complicated than "Hello world" you were better off doing a full rewrite. Working with existing code had endless "You can't do this in .NET, you have to approach the task a whole different way" slaps in the face. That certainly contributed to a lot of the bitterness. That they included such a 'fuck you' tool that did nothing but waste even more of your time before you finally cut your losses and rewrote shows the utter contempt they had for VB6 and how realizing they could gut it and shove .NET down everyone's throats was a last minute afterthought. Would have been better if they were just honest from the start and never pretended it was Visual Basic.
      • .NET started life as, and remains to this day, primarily a platform for C#, which, at the time, was positioned as a competitor of Java on the Windows platform.

        I also disliked that probably millions of VB6 codebases got thrown under the bus. I ended up doing very little VB.NET. Mostly for very simple/quick internal LOB systems. I switched largely to C# at work and Python at home.

    • I was of the opinion that VB sucked for professional app development. Yet, it was one of only a few things out there, if you didn't want to hand-write MFC, COM, and nonstandard C++. So I had built up quite a lot of it by the late 90s, mostly for private clients. Although I very much preferred Visual FoxPro and used that when I could, most of my clients wanted to stick with VB.

      The thing that sucked about VB.NET is that it was not an upgrade but a total rewrite. It was way better than VB6 in every meaning

  • Nostalgia (Score:4, Insightful)

    by BloomFilter ( 1295691 ) on Saturday March 18, 2023 @07:29PM (#63381295)
    Fondly remembering when people used swords in battle, doesn't mean you want to go to war with one today.
  • by peppepz ( 1311345 ) on Saturday March 18, 2023 @07:35PM (#63381309)
    I remember fondly that time when power users were encouraged to write their own applications. But the VB language was full of quirks. You had to assign objects with a special construct instead of the equals operator, because = would instead set the value of the default property of the object. Function parameters were passed by reference by default. Array indexes could be either zero-based or one-based depending on an option.
    • by pz ( 113803 )

      VB6 array indexes can start at *any* *arbitrary* *integer*, not just 0 and 1. I have an array that serves as a lookup table with indices from -8192 to +8192.

      Say what you want about VB6. I've coded the same non-trivial application in both VB6 and Python. VB6, without the advantage of using the GPU that Python enjoys, is 4x faster.

      Yes, that's right. 4x faster, with the crappy VB6 compiler that doesn't even do common subexpression elimination or loop lifting. And it doesn't pause for arbitrarily long period

      • by Smidge204 ( 605297 ) on Saturday March 18, 2023 @09:00PM (#63381477) Journal

        > Yes, that's right. 4x faster, with the crappy VB6 compiler that doesn't even do common subexpression elimination or loop lifting. And it doesn't pause for arbitrarily long periods to do GC.

        There are plenty of ways to hack end-runs around some of the more cumbersome things VB6 does, too, abusing API to get and set pointers in data structures. Want to access an array as a string? Well you can either copy each element in a loop, or fiddle with the pointers to have a string and the array use the same memory range... Is that safe? No. Does it work? Yup!

        And if for whatever reason you decide it's still not good enough, it's possible to interrupt the compile process and inject your own x86 assembly code. (I went through a phase...)

        I basically learned programming through VB4 and I still use VB6 once in a blue moon because it still works, it's good enough, and it's fast to just bang out some one-off utility or prototype.
        =Smidge=

      • Python is very slow though, so beating it is not a big deal. Also, you should compare it to vbscript instead of vb6, because vb6 is compiled.
        • by pz ( 113803 )

          I was comparing interpreted VB6 to standard Python. If you want compiled-to-compiled (using a 3d party Python compiler like Nuikta) VB shines even brighter for performance. Never, ever, did I think I would be defending VB6, but at least it has sane scoping rules, consistent syntax, and a compiler that's not a dog. VB6's IDE is a pain, it's automatic formatting is annoying, GUIs are limited to 512 distinct symbols that you must use arrays to get around, and it's compiler lacks even rudimentary optimizatio

      • But Python can sort an array. It can run on multiple platforms. And it doesn't cost hundreds of dollars. And all those things were true in 1998.

        VB was fast for what it did, sure, but it didn't do a lot of the stuff that professional developers need to be able to do.

        • by pz ( 113803 )

          Sorry, lists are not arrays and Python lacks anything close to decent array handling. To get that, you need to use a 3rd party library like numba.

          Moreover, VB6 is NOT fast. Not remotely. Its compiler is terrible. It lacks basic optimizations like common subexpression elimination or strength reduction, forget advanced ones like register coloring or specialization.

          And yet Python is worse, by a large margin. Even the 3rd party compilers produce code that's slow as molasses. Moreover, they have the advant

    • You had to assign objects with a special construct instead of the equals operator, because = would instead set the value of the default property of the object

      What are you talking about? You simply "Set MyObj = WhateverObj"

      Function parameters were passed by reference by default

      If by default, you mean didn't include ByRef/ByVal when defining the sub/function. Which almost no one ever did.

      Array indexes could be either zero-based or one-based depending on an opt

      • I have fond memories of VB in the 90s. In college as a math major, I took C and Fortran elective classes and didn't take to them.

        When I got a Silicon Valley job in tech support I learned the VB product APIs and became the goto (heh) for complex problems. For some reason I took to the syntactic names of ByVal and ByRef. And that's what made me understand pointers in C.

        VB was my springboard into the core dev team as junior dev C programmer writing .... VB DLLs in C.

        That became my career and livelihood to the

      • 1) Exactly that, you have to use Set for objects and just = for non-objects. Forget to use Set (or forget what is an object) and you get subtle bugs because you code a.Value = b instead of a = b. 2) Yeah, forget to put ugly ByVal in your parameters and you get your utility function to write stuff into its caller's variables and again you get subtle bugs. 3) Option base 1.
        • 1) This doesn't make sense because it is no different than in C saying "x = val;" instead of "*x = val;"

          2) No one "forgets" to put ByRef/ByVal in the function/sub declaration. Just like no one "forgets" to define the type for a var.

          3) There is absolutely no reason to use that. At all. And pretty much no one does

    • You're talking about Set obj = thing.
      But that's a very nice shortcut for the underlying calls, which in other languages mean calling (IUnknown)thing.QueryInterface(iid_of_obj, obj). You're really complaining they didn't overload the = operator even more by trying to figure out when you meant that too without a specific indicator?
    • Yes, anything successful that grows over time beyond original intent will gain quirks. But MS could have fixed the rough edges instead of toss it out for a very different language. Companies with established code bases were greatly pissed, and even signed a mass petition. [visualstudiomagazine.com]

      MS could have reworked a "VB++" language platform that was mostly backward compatible but improved abstraction, etc. That way only a few parts in existing apps would need rewriting. If this slowed their Dot-Net transition, so be it.

      As the

  • ... where the author is apparently under the impression that Windows is the only OS, even on servers...

    • Back in Win95 days?
      The Mac was in torpor and good luck convincing someone to move to Unix/Linux
      when Windows 95 was promising to "start you up". The hype was inescapable.
      It was too early to know how much Windows (and its dll's) would suck for at least five more years.
      And meanwhile, MS started .NETting VB and made it no fun at all. At all.

  • by theshowmecanuck ( 703852 ) on Saturday March 18, 2023 @07:57PM (#63381351) Journal

    It was actually a good language if a good programmer used it. The only problem it had was that it was easy enough to use that it allowed hundreds of thousands of bad programmers to use it (including people who didn't really know how to program but thought they could because VB made it easy). You could create an application right off, but most of the shitty programmers would right super unmaintainable code, code with logic traps that were almost impossible to fix without rewriting everything, etc. But if a good programmer created something with it, a pretty decent program for the Windows environment would be created. OK, there was another problem in that it was interpreted so when people wrote systems that were beyond its practical scope, it would run like a dog. But you could build some really big things with it. It's really no different than people writing systems with Node.js. Javascript is about the shittiest language you could write a system in, and is only viable writing-wise if you sit the js on top of a bunch of frameworks so that no one knows what is actually happening. It is fucking messy and hard to look at with all the indenting to callback hell and back. Good luck getting anyone to fix a bug ten years from now, or even five, after the original programmers are gone and some poor schmuck has to figure out where the error is in the middle of the fucking mess.

    No I was never a VB programmer, but did learn how to use it. I just didn't have to in the real world. C, Java, several DB procedural language, Python, etc. But not VB. But I've seen good programmers create some good stuff with it. And a fuck ton of bad programmers make dog shit programs with it, too.

    And yes there are modern vestiges of VB still around. I look at Appian and I think, look it's VB for the cloud. Except VB is probably better IMHO.

    • It was actually a good language if a good programmer used it.

      That can pretty much be said about any programming language. In fact, I don't think I would enjoy programming in any language that was so incredibly rigid that verything written has to somehow be "good" in order to be functional at all.

    • OK, there was another problem in that it was interpreted so when people wrote systems that were beyond its practical scope, it would run like a dog.

      You're talking about when running from the IDE, which runs it as interpreted P-code. You *could* compile to P-code for the final exe, but the later versions all compiled to native code by default. It's actually quite fast, and blazing fast compared to a lot of the managed, interpreted, and/or massive framework heavy stuff today. Especially if you were looking for speed, where the sky's the limit because you could use addins that allowed inline asm.

      For modern vestiges, someone is finally creating a proper

      • Yeah, that was an oops after I hit submit. I thought about it and then knew I would be corrected. :) I do remember that... wish I had while typing.

    • Yeah, VB can be used to create some very complex stuff.

      The game Aurora comes to mind.

      http://aurora2.pentarch.org/ [pentarch.org]

      Thankfully it has switched to .net in the current version. But very impressive what could be done with VB and an Access DB in that game.

      The VB version is still available in that link, if you want to have a look.

    • VB6 had very little built-in support for any sort of data structures or algorithms, so people re-invented them, badly.

      We were sometimes told in the Usenet forums that to sort an array you should write it into an invisible text box, set the Sorted properly on the text box to True, then read the values back out.

      Sometimes this was said in jest, sometimes seriously, and once in a while people defended it as a perfectly valid practice.

  • by Z80a ( 971949 ) on Saturday March 18, 2023 @08:10PM (#63381403)

    If compared to something like electronjs.
    You probably can, with no much effort write applications very similar to the ones made in electron using a fraction of the memory and 10 times the speed, and probably a fraction of the programming time as well.

  • I wrote an surgical image management system in VB around 94-96ish.
    Way better effort-to-reward ratio at the time compared to the traditional VS/C++ path.
    It was quick to start something with it, but scaling was a problem.
    Once something got to a certain size, you could feel VB getting slower with every line you wrote.

  • Not At All Right (Score:4, Insightful)

    by An Ominous Coward ( 13324 ) on Saturday March 18, 2023 @08:23PM (#63381423)

    VB was terrible. Delphi was the godsend for Windows desktop development. Far better language, far better IDE, far better performance. True whether comparing it against VB or VC++. It's despicable what MS did to Borland via predatory monopolist actions and strategic poaching.

    • I think people put Delphi on a pedestal that it doesn't necessarily deserve. I worked with it in the mid to late 90's and although it was long on features and promises, in delivery I met with problems that eventually drove me away. I never launched Delphi after I opened my copy of VS6 (I think? Sounds right...)

      Of course 18 months after that my career took me away from Windows completely...

    • Borland had a problem with their ability to execute. And by that time, Visual C++ and Visual Basic were a lot easier to use than the weird mess Borland was selling.

      I know some people hold it very dear (I really liked Turbo Pascal btw) but it wasn't able to compete.

  • by Lije Baley ( 88936 ) on Saturday March 18, 2023 @08:28PM (#63381431)

    I had to do some VB5 for a couple years, and other than me trying really hard to do something OO-like with it when it was definitely not OO, the most memorable thing was the help system. It was local, fast, and had useful examples. And though there were a number of laughable errors in the help, overall it was really easy to use it to learn on the fly.

  • by boxless ( 35756 )

    As an old timer, I watch web guys reinvent business apps in the browser, and literally spend days and days to get the basic presentation, forms, fields, field validity checks, etc. which would have been a couple of hours in vb or similar language.

    Sure, all those horror stories of guys not understanding the difference between a stored procedure vs processing locally are true. But thatâ(TM)s got nothing to do with vb. Those guys were idiots.

    I once watched a couple of you architecture astronauts attem

  • by QuietLagoon ( 813062 ) on Saturday March 18, 2023 @09:35PM (#63381549)
    Huh? So the article starts off with a lie...
    • Does it? I do remember VB being EVERYWHERE. A decade after it had lost ground we still had projects springing up to replace it throughout the enterprise. It was king in shadow-IT land.

      • {{{ --- I do remember VB being EVERYWHERE. --- }}} Maybe everywhere in Windows. But does that make it "the world's most dominant?" OK, maybe we need to determine how to ascertain what "dominance" means for a forced-bundled programming language.
  • I am an ex-programmer who worked a few months with VB. The first time I saw it, I was amazed at how quickly I was able learn & create a User Interface with VB.

    OTOH, I found it extremely difficult with Java/Python etc.

    Do modern languages have an UI Designer like VB - where you pull a command button off a palette & place it where you want & double click it to write code which gets triggered when you click on the command button at runtime? Arrange UI elements inside a window.

    I found Java's UI parad

    • by PPH ( 736903 )

      Do modern languages have an UI Designer like VB

      Eclipse.

    • Lazarus + Free Pascal, Qt + C++, Netbeans/Eclipse + Java.

    • Qt is pretty good.
      I've used it with Python, but it works with plenty of languages.
      You just need a few lines of code to set things up, but once that is done you can load UI files created by the Qt Designer and access their widgets based on their hierarchy in the form.

    • by kackle ( 910159 )
      Another poster mentions twinBASIC. I've looked at Liberty BASIC. And there's a cross-platform B4J.
    • Yes. However, I tend not to recommend them. Position-based layouts don't scale very well, nor respond to changes in screen sizes.

      Visual Studio's WPF Designer strongly encourages the use of layouts, but also shows you the results in the Designer window, and its ASP.NET tooling, if used very carefully, can do more or less the same for Web layouts.

  • Many of the innovations that Alan Cooper and Scott Ferguson's teams introduced 30 years ago with VB are nowhere to be found in modern development, fueling a nostalgic fondness for the ease and magic VB delivered that we have yet to rekindle.

    What are they talking about? Today, you can open Visual Studio 2022 and start a new C# Windows.Forms project, and it's pretty much exactly the same as Visual Basic was, only backed by C#. There's a reason it's still so widely used despite Microsoft's repeated attempts to kill it with their latest XAML-toolkit-of-the-week.

  • Just for fun.. (Score:4, Interesting)

    by LVSlushdat ( 854194 ) on Saturday March 18, 2023 @10:39PM (#63381633)

    I have a DOS 6.2/Windows 3.11 configuration on my Linux system running in Dosbox. I have a copy of VB3 and I've cobbled up quicky programs, made an exe, and though they won't run on any Windows beyond XP (as I recall), they DO run under Linux/Wine... Since I'm retired, I look for techy stuff to keep me busy.

    • by Locutus ( 9039 )
      Find a copy of Watcom VX-REXX and you'll be amazed. I knew VX-REXX before seeing VB and could only guess VB was popular because Microsoft was marketing the heck out of it. The BASIC programming language is Bill Gates favorite after all.

      LoB
    • Re:Just for fun.. (Score:4, Informative)

      by ElizabethGreene ( 1185405 ) on Sunday March 19, 2023 @11:17AM (#63382435)

      The reason your apps won't run on OS past XP isn't the OX, its bittidness. VB3 makes 16-bit code. 16 bit code runs on a 16 or 32-bit operating system. 32-bit code runs on a 32-bit or 64-bit OS.

      VB4 is the first one that could make 32-bit code, but if you're going to make the step up I'd go to VB6. It will install and run on Win10. The trick is to do a custom install and NOT install the ADO and RDS components and always right-click > run the IDE as an administrator. I can try to help if you get stuck.

  • It's still a big shame they never released VB7.0 but shelved it (it was already feature ready, including real OOP) in favor for VB.NET. in regard to syntax, it's still one of the cleanest syntax around. But it certainly had its problems like no real OOP.
  • twinBASIC (Score:4, Informative)

    by fafalone ( 633739 ) on Sunday March 19, 2023 @04:57AM (#63381935)
    Worth mentioning here: Lately I've been playing around with twinBASIC [twinbasic.com]. It's the first actual, legitimate, delivering compatible VB6 successor. A lot of people here haven't considered that VBA is *very much* alive, and that's the same language, barely touched since 1998. So it's not just the few remaining legacy business VB6 apps and hobbyists that need a path forward when they don't want to rewrite from scratch in a whole new language, because MS has shown they plan to pull a .NET and simply leave everyone high and dry with that too.

    It's still in beta but runs most VB6 code right now, including Active-X controls, both compiled OCXs and UserControls with the ability to compile the latter for any host, and has a very, very long list of new features (x64 exes, generics, overloading, multithreading (via API only for the moment), controls support unicode, dpi awareness, and modern image formats; can define COM interfaces/coclasses in-language, can disable integer overflow checks/array bounds checks/floating point error checks per-procedure, can specify packing alignment for structs... it's actually hard to get a list of everything since the out-of-date www site only mentions a few; I've been working on a list [vbforums.com].)

    My GitHub [github.com] is a good place to get an idea of how far along it actually is right now, I've brought over some large, complex VB6 projects and updated them to x64.

    Only downside is that it's also like VB6 in being closed source/commercial (the free community edition sticks a splash screen on x64 exes, and in the future won't support optimized or cross-platform compilation, but that's it). But that's apparently not set in stone if it's successful.
    (I'm not compensated for promoting it or financially invested, I'm just one of those people who've never let go of VB6, still actively maintaining a bunch of open source and personal projects for it, and am thrilled to finally have a more modern replacement not requiring switching to a whole new language).
  • Those were the days... as a kid I learned programming basics by meddeling with visual basic. It was a big improvement coming from qbasic. Getting the mouse to work in qbasic was... not easy. And kids, in those days uou could not google for a solution. You had to ride to the library, browse through friend's books, ...
  • I worked with VB 2, 3 and 6 and also with all versions of Delphi (on different jobs). While I remember liking VB2's ability to easily build UIs and put some code in there, I also remember hating the basically non existing error handling. My employer back then hired a consultant who was to show us code monkeys (mostly with a COBOL background, I as the only one with some experience in Pascal and C) how easy it was to build Programs with VB. In each sub he put an "on error resume next" so he could avoid the em

  • Heck, I still use it, if I just want to whip up a desktop program to do something, fast.

    The data I am transforming for import somewhere really doesn't care that it was transformed by something that geeks sneer at.

  • Web UI's have become rocket surgery. UI kits either have a bigly learning curve and/or take lots of trial and error to get your vision to work. When you spend 3 hours using trial and error to get a UI to be normal, it's hard not to miss VB-style drag-and-drop and snap-grids that would take only 5 minutes.

    The common justification for the convoluted state of affairs is WYSIWYG & snap-grids "can't do responsive" (resize for device). That's balderdash! The real problem is the DOM and CSS; it's too inconsist

    • Font sizing can be often be done by using vw and/or vh units and possibly some CSS calculations for font-size. I did this in one of my recent projects where they wanted it to look basically the same on any 16:9 or 16:10 horizontal screen regardless of screen resolution.

      I think CSS Flex can do most of the rest of what you're after, but I still don't consider myself a great Web designer so others here can probably provide a lot more insight than I can.

Waste not, get your budget cut next year.

Working...