So I fired up a doobie to see if that would help.
March 17, 2023 5:42 AM   Subscribe

This post was deleted for the following reason: Poster's Request -- travelingthyme



 
I think it was less about the complexity of C programming than the complexity (and confusing overhead) of the Windows API that made VB so appealing. I was a C programmer, but I appreciated how VB hid away all the "template" code that had to be generated for every program. A "hello world" required pages of excess code, and with VB you were back to just a single line.

That accessibility got me excited enough I used VB as the basis for an intro to programming book.
posted by CheeseDigestsAll at 6:21 AM on March 17, 2023 [11 favorites]


interesting subtext in that this is posted on the website for a low/no code app development tool.
posted by AlbertCalavicci at 6:29 AM on March 17, 2023


Also, I'm slightly skeptical about the "fire an event" history. Events were in the first Mac and grew out of messages in the Xerox Smalltalk system. That, of course, inspired first the Lisa and then the Mac. Maybe it was the first pairing of "fire" and "event" but not events themselves.
posted by CheeseDigestsAll at 6:50 AM on March 17, 2023 [1 favorite]


I worked with them all — VB, PowerBuilder, SQLWindows, Delphi, even Informix New Era — but VB was the one that really felt like Windows.
posted by ob1quixote at 6:55 AM on March 17, 2023 [5 favorites]


I knew nothing about the early origins of VB so this was pretty fascinating. I think it would have been great to continue it with a discussion of the bizarre longevity of one version of VB: VB6. VB6 was end of lifed in 2008, I think, but still runs on Windows 10 and is still widely used, (in pirated versions since you can't buy it for any amount of money today), by a dedicated almost cult of application developers who see at as the pinnacle of "RAD" environments. It's one of those pieces of software that just refuses to die, and after the big pandemic that leaves us in a last-of-us world, there will still be programmers out there building resource management tools in VB6 for their isolated communities.
posted by dis_integration at 7:15 AM on March 17, 2023 [2 favorites]


Maybe it was the first pairing of "fire" and "event" but not events themselves.

That's what I took from it - the "fire an event" bit was just a (very successful) exercise in branding, not the genesis of a new technology.
posted by grumpybear69 at 7:16 AM on March 17, 2023


I’d love to hear a perspective from someone who’s used both HyperCard and VB. The HyperCard model seemed really promising to me but it kinda fizzled out, though I suppose you can find traces of it in the HTML DOM.
posted by sjswitzer at 7:16 AM on March 17, 2023 [3 favorites]


I took a college class that taught VB on DOS as well as Windows. From reading the article, this must have been version 1. The DOS version was ugly, but functional. It had very simple ANSI block graphics, but all the same controls that the Windows version had, just rendered as text.

I remember the gnashing of teeth when the big move to .Net happened. I worked with several developers who refused to learn C# and stuck with VB.Net for years after it's doomed status was obvious.
posted by Eddie Mars at 7:31 AM on March 17, 2023 [1 favorite]


I worked with PowerBuilder and Delphi. For some reason, VB always ended up upsetting me. An issue with VB (and PowerBuilder) was that you could only use those languages within strict bounds, for everything else you had to go to another language. I worked on a document management system in PB, and we ended up doing a bunch of little stuff like talking to printers and displaying TIFFs in C.
I remember the VB6 people hacking it to do funky things, like threading that was wholly unsupported by Microsoft. I think that was the big issue. VB's architecture couldn't support the things that the hardcore developers wanted, which was to be a first class application development tool. You'd have to get rid of their runtime engine, which would have been a huge change. Instead, MS went with semi-compatible VB.net. I think that a lot of VB developers went with C# instead, because if you're making a break, might as well make it a clean one, and C# was clearly the preferred language at MS.
posted by Spike Glee at 7:32 AM on March 17, 2023 [3 favorites]


I still use the old Windows Form Editor if I need to create a quick utility with a UI. Still supported all these years later on the latest version of Visual Studio.

A friend got hired as a full time Delphi developer a couple of years ago. That Delphi is still around and (thriving?) is astonishing to me.
posted by Eddie Mars at 7:35 AM on March 17, 2023 [4 favorites]


The problem with VB.Net is that, like most early CLR languages, it was just C# dressed up in a different syntax. Learning C# isn’t *that* hard and if you do you can program with fewer rough edges. So that’s what most people did, except for those who ignored VB.Net entirely.
posted by sjswitzer at 7:46 AM on March 17, 2023 [4 favorites]


Man, I miss Delphi. It was the first RAD tool I ever worked with, and it came out right around the time that I was pretty familiar with Pascal.

I wish someone would do something like it for Python, including a way to package up and distribute a Python application that wasn't an absolute pain in my entire ass.
posted by Mr. Bad Example at 7:47 AM on March 17, 2023 [3 favorites]


I’d love to hear a perspective from someone who’s used both HyperCard and VB.

Subjective take. VB was successfull because it didn't change anything. It just combined an easy-to-use programming language with the Windowing model, but provided the framework to hide the latter's complexity.

HC was trying to invent a new programming language. It was good at a few things, but too verbose and unsophisticated for complex things. It also hid the complexities of the underlying model, but forced you into its own (card-based) model, so they never behaved like a "normal" Mac app. VB didn't force you into any specific look and feel, it let you do anything any other Windows program could do.
posted by CheeseDigestsAll at 7:55 AM on March 17, 2023 [5 favorites]


Like I said, I used Delphi in the 90s. It was based on Borland's Turbo Pascal, and was compiled. If you had the enterprise edition, you had source to their libraries, too, so you could debug them. Around 2000 or so, Borland switched its focus to Enterprise software, and jumped on the .net bandwagon for Delphi (rather than supporting 64 bit apps). They chose poorly.
Embarcadero had developed either all or almost all of their apps in Delphi. Faced with either rewriting everything in C# or C++, they bought the Delphi team. And that's how the language survived to this day.
(PowerBuilder jumped to .net in a big way, and I think that they replaced PowerScript with C#.)
There was also a C++ product that let you visually edit forms. I've completely forgotten who made it, or what it was called, though.
posted by Spike Glee at 7:55 AM on March 17, 2023 [3 favorites]


i broke into coding in about 2000 with a small indy shop that did VB6 exclusively. i feel we pushed it as far as we could. jumped ship for C# at the first possible moment - instead of Java which had a well earned shit reputation, mostly because of Swing.

I'd say this for VB6 - short learning curve, easy for a jr to be 'productive' fast, trivially dumbed-down db apis. no inheritance, but interface support so lots of practice with composition.

as noted above, a giant leap forward in terms of abstracting away win32.

bastard child vba scrabbled together in excel will be around for the next 100 years.
posted by j_curiouser at 7:59 AM on March 17, 2023 [4 favorites]


Always nice to see some history of computing on MeFi, makes Friday all the sweeter. I started learning VB in the late 90s but then I got sidetracked by PHP and the bulk of the code I write today is still PHP. Scoff if you want - it's a great language to automate things in.
posted by signsofrain at 8:01 AM on March 17, 2023 [1 favorite]


I threw together an Access DB with a frontend in VBA as a summer job at an engineering firm before I went off to uni, so 1995 or so. It was supposed to hold the fort making BoMs for a configurable product they had for a few months until they upgraded all their IT systems later that year, but ended up in use for a couple of decades. I remember being a little embarrassed about that.
posted by rhamphorhynchus at 8:45 AM on March 17, 2023 [1 favorite]


In discussing this article in another conference, people described the trouble the had making anything complicated in VB. I had the realization that the Yourdon Systems Method was a huge influence on our success in writing business systems that worked.

I have searched in vain this morning for a couple of little books from back back then that were very influential in my VB style. They were small, A5 sized maybe, soft covered with white covers and sparse, colored lettering; one purple, the other green. I can't recall anything at all about the titles or author. I bought them in Oxford Books, R.I.P., so there's no record of my ever having owned them.
posted by ob1quixote at 8:50 AM on March 17, 2023 [1 favorite]


bastard child vba scrabbled together in excel will be around for the next 100 years.

So true, so worrying.
posted by clew at 9:22 AM on March 17, 2023


Well I'm still using VBA code that I wrote in 1995. I've updated parts of it over the years of course and I keep updating it when needed, but it's still doing its job well.
posted by elgilito at 9:44 AM on March 17, 2023 [2 favorites]


Heh, VB. I had three other BASICs, the same number of Assembly, Prolog, Pascal, FORTH, C, Fortran, and probably some others I've forgotten when I left my student work for the UNIX folks and went to work for the Phone People. OMG Windows 3.11 for Workgroups what have I done! VB of 1991-1992 era... ended up doing a bunch of automation stuff with it and other MicroSoft things. Not a bad basic, but if you ever tell anyone I'll cut you. Much like that MCSE I eventually had. Just blips on the radar working on not-UNIX systems. I'll deny it, "Sure I smoked some MicroSoft, but I didn't inhale".
posted by zengargoyle at 9:50 AM on March 17, 2023 [2 favorites]


bastard child vba scrabbled together in excel will be around for the next 100 years

If anything is truly most likely to "turn" future AI's against us, it will be creating/editing/updating embededded VBA/Excel code...
posted by rozcakj at 10:01 AM on March 17, 2023


Well - I wouldn't have had a 30-year career in IT, if it wasn't for VB1. Through high-school and the first year of college, I tried and tried to learn - but C coding just never "clicked" for me. Saw an article or two about this new fangled Visual Basic, so I went out to a local store - and grabbed it ($140 CAD at the time, IIRC).

It was a game-changer. Yes, it was high-level, but it allowed me to be creative, then productive and slowly work my way to other languages at lower levels (no - I never did do C/C++, but I ported plenty of C/C++ code to Delphi, Java and eventually C#) - even to the point of coding Delphi with very low-level Windows API's, pointer code (memory mapped files FTW!) - and multi-threading.
posted by rozcakj at 10:06 AM on March 17, 2023 [1 favorite]


I’d like to read some other takes on why the ’soft blew so many advantages right around then. Political debt as technical debt, or the other way around? I had already been in a research group trying to "fix DLL hell" and the wonder of DLLs wasn’t even all that old.

I guess MiniMSFT (is that the name? Blog from the company’s worst decade?) has the goods, but I’d like it somewhat farther from the deets.
posted by clew at 10:12 AM on March 17, 2023 [1 favorite]


My first job in around 1995 was working with VB 3, then 4,5 and 6. I'd messed with it at home during a period of unemployment, and was then lucky enough to find a job writing educational software. I still remember it fondly. I'd tried out Delphi and Visual C++, but found neither of them as accessible, and I've still never learned C, C++ or C#, despite nearly 30 years as a programmer. In conjunction with drivers for Access and SQL Server, and with the help of that massive Windows API book that I forget the name of, you could do pretty much anything. It's probably no coincidence that my next job was in web development using a lot of Flash (hey, it was the early 2000s...). Flash - well, from v5 onwards anyway, was very like VB in the way it opened up all sorts of possibilities without much of a learning curve.
posted by pipeski at 10:25 AM on March 17, 2023 [2 favorites]


Quickbasic was the last version of basic that came bundled with a microsoft OS. Think about what that means. It used to be that you could start programming from a fresh install without any additional software.

I learnt basic by carefully typing program listings from the back of magazines into my C64. I picked up Quickbasic really fast. I would have moved from there to VBA if it was on my computer. I didn't, so I stopped programming.

Imagine a world where win95 came with some form of VBA preinstalled. Right there on the desktop where any kid could click on it. We might have a lot more talent around today.

So that's my problem with VBA. I never had it. Microsoft decided giving away a programming language that goes with the OS was too generous. Probably ruined a generation of potential.
posted by adept256 at 11:07 AM on March 17, 2023 [1 favorite]


VB6 was end of lifed in 2008, I think, but still runs on Windows 10 and is still widely used, (in pirated versions since you can't buy it for any amount of money today),

My home version of MS Access is Windows 2000, and still runs on windows 11 just fine. They are correct that the reason I still use it is you can think up a database, create it in Access, and then write up some logic in VB to make it internally fancy, or connect it to the intranet in 3 easy steps.

The company I work for had most of our customer service interfaces built in PowerBuilder until 2018, but we upgraded most to Javascript/online portals after that.
posted by The_Vegetables at 11:12 AM on March 17, 2023 [1 favorite]


Went from Paradox, (QBE!), to Paradox for Windows into Delphi. Got paid to write in Delphi for about 15 years. But, much like Access, VB got all the buzz and market share. And then MS hired away the Delphi creator to create C#.

I still write apps in my old Delphi, V7 I think.
posted by Windopaene at 11:21 AM on March 17, 2023 [1 favorite]


Probably the most unconventional software I ever wrote was an Excel 5 macro (VBA) for a digital imaging hardware manufacturer (back before everyone had a digital camera in their pocket)

It controlled the camera through a proprietary card, ran a filter wheel and light source through two serial ports and read an ammeter by calling code I wrote in LabSense.

I used VBA because it allowed me to create menus for test technicians to use to run the process and it recorded the results to a spreadsheet. Also, that's all we had on hand. :)

Good times.
posted by mmrtnt at 11:28 AM on March 17, 2023 [2 favorites]


moved from there to VBA if it was on my computer

Hmmm - in my experience, if you had/have Excel, Word, or Access - you have/had VBA - which is a different beast than VB, which could "compile/package" your applications for "standalone" deployment (you would still need the VBruntime libraries installed).
posted by rozcakj at 11:57 AM on March 17, 2023


Also - for those who have fond memories of Delphi - Lazarus is an open-source free IDE, wrapped/bundled with FreePascal. It definately scratches the Delphi/VB6 itch for me, one of the first things I install on any new machine.
posted by rozcakj at 11:59 AM on March 17, 2023 [1 favorite]


I spent my early career in Visual Basic. My first job after graduation was a post-graduate internship ("apprenticeship") in 1993 in Microsoft's IT group, writing apps that interfaced with their AS/400 and their EDI systems. I was working with a beta of Visual Basic 3.0 (the first one with native DAO and ODBC support) on top of a beta of Windows NT 3.1. The whole works would bluescreen a few times a day, but I was having a ball. At one point a few years later I helped write the certification exam for VB 6.

While there may have been a vocal minority of developers who craved to never leave "original" Visual Basic (and such a population is likely to be over-represented in an oral history like this), I was plenty happy to move to .NET and C#, and think that Microsoft did the right thing by jettisoning the original VB. As a language, C# was much more elegant. And as a platform, Visual Basic has become a compatibility nightmare at the end thanks to DLL Hell; it was always a crapshoot as to whether your app would work when installed. And it was almost a certainty that at some point a subsequently deployed app would break yours.
posted by microscone at 12:47 PM on March 17, 2023 [4 favorites]


And as a platform, Visual Basic has become a compatibility nightmare at the end thanks to DLL Hell

A problem that today could be mitigated with a container approach.

I enjoyed my time with VB6. It was so easy to go from idea to implementation. You could mock up the entire app exactly how you wanted it and know it would look the same when you were done.
posted by rouftop at 3:44 PM on March 17, 2023 [1 favorite]


A "hello world" required pages of excess code

Petzold's example HELLO.C is 83 lines, 13 lines of HELLO.DEF and a 10 line makefile, of which


DrawText (hdc, "Hello, Windows!", -1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;


takes two.
posted by mikelieman at 3:55 PM on March 17, 2023


DLL Hell
.Net mitigates that, mostly, 'cept the GAC, a new word for 'registry'. a simple deployment folder is like a jar file - self contained.
posted by j_curiouser at 4:29 PM on March 17, 2023


It had many, many problems: but I've never used any development environment that matched it for the ease, speed and intuitiveness of creating a user interface.

And I don't see the giant precarious Jenga stack of modern web development as being any better than the old DLL hell was...
posted by TheophileEscargot at 4:13 AM on March 18, 2023 [2 favorites]


We still have DLL hell, but Microsoft hides it behind the Windows Side-by-Side component subsystem which handles the multiple versions of libraries with a little more elegance -- except when Windows Update has an issue because the built-in winsxs component maintenance background batch job doesn't run to completion because the store is too large.
posted by mikelieman at 7:51 AM on March 18, 2023 [2 favorites]


just this past week I consulted with a crazy group doing Excel + VBA + MS Graph API calls. It truly was a marvelous pile of terrible.
posted by mmascolino at 4:49 PM on March 18, 2023 [1 favorite]


« Older The Amish are loving electric bikes   |   The Sideshow Magician Who Inspired Ray... Newer »


This thread has been archived and is closed to new comments