1. 21
  1. 5

    Got my start in Visual Basic for Applications, so VB will always have a special place in my heart.

    Not sure if this is the case or not, but I do empathize with wanting to cut down on the amount of products to support, though.

    1. 4

      The end of Visual Basic arguably happened when VB6 was rolled out, which the author also acknowledges in the post. Since that it was basically a different syntax for C# and now not even that. It is still pretty surprising how long Microsoft has kept it alive, given that its popularity has been very low over a good part of a decade.

      1. 1

        There are a surprisingly large number of semantic differences between the two languages.

        1. 1

          What’s a bit surprising is that they killed off Visual FoxPro much sooner, even though FoxPro was still quite popular at the time of its final release, while VisualBasic6 code was considered old shame already.

          1. 2

            VB.Net was a breath of life into VB6. Native .Net integration really made into a “skin” of C#.

        2. 3

          In retrospect, I actually like VB6. I won’t claim it’s a great language, but it let people (myself included) get GUI apps up and running in just a few minutes, and they would run on almost any Windows machine, often just by giving somebody the .exe, because almost everybody had the VB6 runtime .DLLs installed.

          The tight integration between the GUI and the language made things a lot simpler than other languages with GUI toolkits bolted on. I think Delphi may have been close, but I didn’t get to use it, so can’t say for sure.

          The big downfall, is that it didn’t scale well, and the language didn’t have higher level abstractions needed on larger projects.

          Still, I think it’d be great for building a “native” UI talking to a web service, in most cases. Something like the Slack “native” app would have been perfect for VB6.

          1. 3

            I think Delphi may have been close, but I didn’t get to use it, so can’t say for sure.

            Delphi and C++ Builder (which I’m more familiar with) were technically better at the time. They took what VB had and brought better components and database support. The compiler could generate some really high performance code for the time and people would write inline assembly too. Components could be shared between Delphi and BCB too. If you wanted to call into COM that was easy too, or making a COM component to use in VB was easier than with Visual C++ which is in no way visual.

            The focus was on rapid development, but the use of Object Pascal, or C++, made them much more scalable in many ways. If you hit performance issues with VB you’d have to resort to C++ anyway, in the way that CPython devs need to use C extensions (or similar) when they hit a CPU-bound. Delphi programmers were already writing native code and as stated above, they’d drop to assembly back in the day. This also meant that the user base was diverse. You had line-of-business devs through to shareware devs to financial/scientific computing folks.

            The downfall of these great products was bad management, most notably the Borland to Inprise transition. Microsoft learned a lot from Delphi and I feel that WinForms reflects this. You have VB and C# taking the place of Pascal and C++, although arguably they arrived at a time when native code was still better. The result is that people have a hard time seeing past the managed code issues of the day to see the design behind the component model and design experience.

            1. 2

              GUIs in C# is exactly the same: drag and drop and you’re done.

              So nothing is lost there.

              And you can still send the exe around and simply run it for most simpler programs.

              1. 2

                they would run on almost any Windows machine, often just by giving somebody the .exe, because almost everybody had the VB6 runtime .DLLs installed.

                That wasn’t how I remembered it. The 16 bit versions were nice because the DLL (and VBXes) were just files that could be distributed with your application and copied into the same directory as your program. The 32 bit versions (and OCXes) needed installation into the registry, and your VB program can’t do that because it needs its dependencies first. Eventually the install base would get these runtimes, but that happened years after each release, so the “safe” choice was to always use an older version.

                Somewhere in there I gave up and moved to C.

              2. 1

                I also think VB and BASIC in general was a part of the “Old” Microsoft Corporate Identity, and that given that they want to be seen (and in lots of ways are acting) as a new company, they’re finally willing to drop the veneer and admit that BASIC is kind of an ugly duckling in 2020.

                1. 2

                  No doubt. As a young and very green consultant in an IT consultant shop in the early 2000s (pre-crash!) it was eye-opening to see the vast ecosystem of VB6 software (grid controls, reporting software) that was available as add-ons for corporate drones grinding out internal client-server stuff. It might not have been sexy, or cool, but it paid the bills, goddamnit.

                  Microsoft’s commitment to this loyal customer base is part of their strength. But all good things must come to an end. On Error Resume Next, old friend.

                  1. 2

                    I know what you mean. I actually learned VB in the VB3 days. We had a configurator written as a 32 bit C DLL and since VB3 was a 16 bit app we had to use a “thunking layer” to send data back and forth.

                    But it worked, and sales engineers could code demos like nobody’s business in VB.

                  2. 1

                    Wasn’t it an ugly duckling in 1991? I don’t think anyone was ever respected for writing in BASIC, despite the huge productivity that VB developers had.

                    1. 2

                      Lobsters people need to get out more #235: GE sales engineer uses VB3 to write stunning sales demos to configure the specifics of the turbines they’re selling to clients. Each sale likely has MANY digits behind it.

                      You’re telling me that person isn’t respected for writing VB?

                      Open you mind, folks. There is another world beyond the narrow confines of the ascetic technical community you inhabit :)