1. 41

  2. 6

    I wrote a lot of VB as a teenager and then I learned OpenStep as an adult. After that VB felt like a poor copy of OpenStep that had completely missed the point (both were copies of Smalltalk-80, though OpenStep refined the ideas and VB copied the concepts only superficially). NeXT made a huge mistake in their pricing of OPENSTEP for Windows, if it (along with EOF) had been priced comparably to VB then I suspect that been the dominant development environment for Windows 95 and WebObjects would have been the framework that all of the .com startups built on.

    1. 1

      Yeah, OpenStep was far superior and in many ways still is today. On the other hand, though I never developed with VB myself as I was already on NeXTstep when it appeared and my BASICs were of the AppleSoft and DEC BASIC+ kind, it did and does seem to have a level of approachability that OS never quite matched.

      And that we are moving ever further away from. Aircraft Carriers everywhere.

      One of the more surprising outcomes of my work on Objective-S is that focusing on removing architectural mismatches, both packaging mismatch and architectural/linguistic mismatch, appears to resurface the kind of approachable simplicity that I liked about BASIC, while at the same time improving power/expressiveness and structure beyond the OpenStep/Smalltalk levels.

      Once you tackle the architectural mismatch, these goals are no longer in conflict.

    2. 2

      What a cool story painting VB in such a biased way…

      I don’t think we can talk about VB without mentioning a certain Greek place that was the seat of a great oracle.

      1. 4

        I haven’t spoken to Anders about this, but given that he was the author of both the home of the oracle and of C# (and TypeScript - totally in awe of someone who can create three popular languages), I wonder if the shift to VB.NET and killing VB6 might have been somewhat personal…

        1. 4

          a certain Greek place that was the seat of a great oracle

          Would anyone we willing to make explicit this intentionally oblique reference?

          What Greek place? What great oracle?

          Are we talking about Turbo Pascal / Delphi?

          1. 2

            Yeah, Delphi. Though I don’t think it’s biased not to talk about Delphi in a story about Visual Basic. The first version of Delphi was released in 1995, four years after Visual Basic 1.0. Interface Builder is more interesting when it comes to prior work:


            1. 1

              The first rule of Delphi club is…

              Okay I may be taking this too far. I just wanted to say that both VB and Delphi existed at the same time, competed in the same space and influenced each other. Also Delphi did a ton of things better than VB. Not mentioning Delphi feels like writing about WWII and not mentioning one of the major players in the conflict.

          2. 2

            I’ve wondered why there’s no good replacement for VB, even with the rise of hashtag nocode. My best theory is that the era the article talks about, 1990 to 2006ish, the software industry was dominated by in-house solutions and shrinkwrapped software, which is what VB6 targeted. The money was in programs. Nowadays most of the money is in SaaS and online offerings, which is what modern nocode targets.

            That VB6 was also a good system for personal computing is a happy accident.

            1. 1

              Some highlights:

              “[Microsoft] left everybody’s VB6 code completely stranded with no path forward to making modern apps on the latest versions of Windows. A lot of times you couldn’t even get your VB6 apps to install on the latest version of Windows,” recalls a Slashdot commenter.

              Microsoft had broken the trust of its army of Visual Basic developers. Faced with the options of either starting over from scratch in VB.NET or moving to new web-native languages like JavaScript and PHP, most developers chose the latter—a brutal unforced error by Microsoft.

              I’m not sure I agree with that characterization —as a kid who switched programming interests from VB6 to PHP/Web, the driver was the kind of applications I could build. Content management, knoledge sharing and community building were all the rage; i just didn’t have much interest in the kind of programs I could (easily) build with VB anymore, 6 or .NET. For the industry, I believe it was mostly about the rush to establish a marketing presence on people’s screens —something that VB wasn’t well-suited for (and, arguably, modern client-side apps still aren’t, regardless of the brands’s insistence of making us install their shitty apps onto our phones).

              Almost all Visual Basic 6 programmers were content with what Visual Basic 6 did. They were happy to be bus drivers: to leave the office at 5 p.m. (or 4:30 p.m. on a really nice day) instead of working until midnight; to play with their families on weekends instead of trudging back to the office. They didn’t lament the lack of operator overloading or polymorphism in Visual Basic 6, so they didn’t say much.

              The voices that Microsoft heard, however, came from the 3 percent of Visual Basic 6 bus drivers who actively wished to become fighter pilots. These guys took the time to attend conferences, to post questions on CompuServe forums, to respond to articles. Not content to merely fantasize about shooting a Sidewinder missile up the tailpipe of the car that had just cut them off in traffic, they demanded that Microsoft install afterburners on their buses, along with missiles, countermeasures and a head-up display. And Microsoft did.

              Still, the abstractions at the infrastructure layer have perhaps outpaced that of the client-side: many of the innovations that Alan Cooper and Scott Ferguson’s teams introduced 30 years ago are nowhere to be found in modern development. Where developers once needed to wrestle with an arcane Win32 API, they now have to figure out how to build custom Select components to work around browser limitations, or struggle to glue together disparate SaaS tools with poorly documented APIs. This, perhaps, fuels much of the nostalgic fondness for Visual Basic—that it delivered an ease and magic we have yet to rekindle.

              It seems to me we’re now at deep “afterburners” territory, and, as the article discuss, attempts to make the pendulus swing back keep falling short. Apple is pushing to replace Interface Builder with a React clone, for crying out loud. Is this just the way it’s going to be, forever?

              1. 2

                Apple is pushing to replace Interface Builder with a React clone, for crying out loud. Is this just the way it’s going to be, forever?

                Yeah, it does make you want to cry. First they let IB rot for some time, rather than improving it. Then they point to the rot and say it obviously needs to be replaced.

                Glad to see I am not the only one who finds the current direction absurd, particularly because React’s core model is fundamentally incoherent, and the benefits are more accidental.

                1. 2

                  I also find the characterisation ahistorical for similar reasons.

                  I learned Perl and CGI because I could make photo galleries. I could play online games. I could make a website that let people upload and download video game save files.

                  The article notes that VB could be hosted in IE via an ActiveX control. That’s a frustratingly clear memory for me. ActiveX sucked and was terrible to work on.

                  VB lost because it wasn’t networked.

                  Now, VB.Net. That combination kept delivering value for DECADES.

                  1. 1

                    I’m not sure I agree with that characterization —as a kid who switched programming interests from VB6 to PHP/Web, the driver was the kind of applications I could build.

                    The VB.NET transition also hit the IIS/VBScript web developers. I’m not aware of any straightforward migration path there either, although this was happening right at the start of my career, so there were many aspects that weren’t on my radar.

                    1. 1

                      Every IIS developer I knew in Seattle in dot com 1 also knew Apache. IIS had traction in the SMB space, but with Linux eating the bottom up, the writing was on the wall from early on.

                      1. 1

                        My first internship out of high school was with a media and design agency in London in the early ‘00s, and virtually all of the websites they built were VBScript on ASP/IIS. I think only one of the developers there knew much else. I wasn’t around for long enough to find out how they (presumably) eventually transitioned away.