6

Something Pretty Right: a History of Visual Basic - Slashdot

 1 year ago
source link: https://developers.slashdot.org/story/23/03/18/1525205/something-pretty-right-a-history-of-visual-basic
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Something Pretty Right: a History of Visual Basic

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

binspamdupenotthebestofftopicslownewsdaystalestupid freshfunnyinsightfulinterestingmaybe offtopicflamebaittrollredundantoverrated insightfulinterestinginformativefunnyunderrated descriptive typodupeerror

Do you develop on GitHub? You can keep using GitHub but automatically sync your GitHub releases to SourceForge quickly and easily with this tool so your projects have a backup location, and get your project in front of SourceForge's nearly 30 million monthly users. It takes less than a minute. Get new users downloading your project releases today!

Sign up for the Slashdot newsletter! or check out the new Slashdot job board to browse remote jobs or jobs in your area.
×

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

Posted by EditorDavid

on Saturday March 18, 2023 @06:34PM from the Labels-and-ListBoxes dept.

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.

    • Re:

      Fond memories indeed. In my case, the latest being yesterday, as I got approval for the time estimate for a new VBA project. Living in the future, one past technology at a time.

      But you know that, writing from the 90s as you are. That's the last time anyone got to write "lusers" without being met with only groans and eye rolls.

    • Yes it was crap. It's main competitor was Delphi, with the same concept but a Pascal-like language instead of a language vaguely resembling BASIC. Delphi had a vastly better UI as well, much easier to use, and early (current?) Visual Basic would have tons of attributes sorted alphabetically for maximum mouse movement, it was like Microsoft had no clue how to create a user interface. Language wise, Visual Basic was very limited - it both encouraged managers that software was super easy and all the developers had been sandbagging, but also encouraged novice developers to write crappy code, ignore types, ignore designs, etc. I used Delphi and VB both on the same project, as a "here is sample working programs on how to interface with our product" and Delphi was probably took 1/4th the time to create and was more robust.

      I am certain that theoretically there are usable Visual Basic programs, but practically speaking the vast majority I've seen were badly written, obviously buggy with only a cursory glance, and difficult to use.

      • Delphi was designed as the VB killer. It was compiled; thus much faster than VB.

        Its component model was designed, from the start to facilitate RAD as well as encourage the creation of components by developers. It had an amazing ecosystem until just after Delphi 7. Then Borland blew it by changing their brand name to Inprise and fell into obscurity and driving their users to.Net. Eventually, the realized their error and rebranded as Borland. But, the damage was done.

        Eventually, Delphi was sold to Embar

    • There are always languages that lower the barrier to entry. There are always languages the gain traction because they are popular first languages and end up being all a person knows. BASIC, Pascal, VB, Java.

      At the end of the day if they allow a person to code problems, that is all that matters. There is a relatively robust set of tools that has built around VB to make it work. It well for MS only shops.

      • Re:

        A lot of people do code problems with these but the really ambitious can code whole disasters.

      • Re:

        My biggest problem is that most "easy" programming languages are called BASIC, even when they have nothing to do with the original BASIC from the 60's. The original BASIC was more or less assembly language with some memory management thrown on top.

          • Re:

            Wow! OK, I guess if you're only looking at the microcomputers during the time frame after the IBM clones became popular up until Windows 3, you might see things that way.

            So many people don't know the real history of BASIC and why it was such a big deal when it came out. There is an excellent video about the development and growth of the original BASIC that is well worth watching. A great example of what undergraduate students can achieve when challenged.

            https://www.youtube.com/watch?... [youtube.com]

        • Re:

          Your memory is faulty. What came out of Dartmouth wasn't all the different from Basic on the PDP-8, Microsoft Basic or other microcomputer Basics, or any other that I can remember. Many of the function names have even remained the same all the way from 1964 through VB.net today. To call it an "assembly language with some memory management" is ridiculous.

          There have been a lot of BASICs over the years, but I don't remember any that were significantly different from other BASICs. Certainly none that were d

          • Brilliant when first created, with the little in built editor that could be implemented in a few K of memory. Not Gig. Not Megs. Ks.

            VBA was a pretty fair extension. I wish Java had things like optional keyword parameters. Objects were added much later, and a bit tacked on. Certainly End If is much better than {}s, and Basic counted from 1, just like we learned at school, avoiding many bugs.

            But whatever else could be said, it was much, much better than C for ordinary application programming. No need t

    • Re:

      It's funny, when I used to honestly work with VB as my main job, I hated it.
      When I look back on it, I have a sort of feeling of nostalgia, almost fondly, if that makes any sort of sense.

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

      "Then" came.NET - so choked up I can't type.
      • Re:

        I remember Visual C and thinking that Wow, Microsoft didn't screw up a product! Then came Visual Studio...

        • Re:

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

          • Re:

            Tahiti....it's a magical place.
    • No VB variant was good, all have permitted bad programming practices.

      • Re:

        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

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

            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.

        • Re:

          Specifically, it was about making programming more accessible in the GUI age. We all had regular BASIC on our home computers in the 1980s, but as the decade grew to a close, that ability for almost anyone to knock up a quick program to do ${RANDOM THING} became more and more difficult with the skills needed becoming out of reach other than the dedicated hobbyist or learned professional.

          VB made it possible again for anyone to knock up a quick program. And it's nice that with.NET it's basically free at th

      • Re:

        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

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

    • Re:

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

      • Re:

        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.

        • Re:

          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.

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

      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

      • Re:

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

    • Re:

      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

      • Re:

        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

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

    • Re:

      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.

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

    • Re:

      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.

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

    • Well said. Whenever I play around with electron, the first thing out of my mouth âare you effing kidding me?â(TM)

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

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

    • Re:

      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.

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

  • 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

  • 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

    • Re:

      Eclipse.

    • Re:

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

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

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

    • Re:

      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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK