Comment by roywiggins

1 day ago

The GUI parts are or were.

And parts of their patient portal website were still VB6 on the backend a decade ago, not sure that's true anymore. Visual Basic 6 as a web backend.

VB was the backend language for the vast majority of original Active Server Pages sites.

  • My memory may fail me, but I'm pretty sure ASP used VBScript, not regular VB. Similar syntax but not the same runtime/environment. ASP could use any Active Scripting language (the other language shipped with Windows being JScript, MS's impl of a subset of JS)

    • Frequently VB if your application had COM components in Microsoft Transaction Server. I shudder at the memories. But yes, the <% ... %> inclusions in the .asp files were actually VBScript (usually) not full VB.

Here's something that will bake your noodle. Sage 100, the accounting/ERP software, is still to my knowledge written in Business BASIC from the 1970s—specifically the variant that ran on MAI Basic Four minicomputers (just 64 KiB of RAM!). This variant of BASIC was so, as Claude says, load-bearing that several companies emerged to support source-compatible versions on a variety of platforms as the non-mainframe business world evolved from custom-schmustom minicomputers to Unix workstations and PCs. The most common variants today are BASIS International's BBx and BBj (Java), and ProvideX. Sage 100, originally MAS 90 and MAS 200, was an accounting solution originally developed for those 1970s minicomputers and then forward-ported to new platforms as the business landscape evolved.

  • I dealt with ProvideX code for a Customer who was using an industry-specific customized version of MAS 90. I managed to see some of the source (under NDA) of the customizations and it was fucking horrifying-- line numbers and GOTOs and global variables. It makes my eyes burn a little thinking about it...

    • One feature that Business BASIC did have even way back in 1975 that I really appreciate is some form of exception handling: just about every I/O operation had, as a required argument, at least one line number to jump to in case of failure. Some required several, for different types of failures (file not found, I/O error, etc.).

      That code you looked at must have been incredibly old! I think that BBj and ProvideX both added structured-programming features to make working in their environments at least somewhat tolerable. As intolerable as we find it today, Business BASIC was really a breath of fresh air in its time compared to the alternatives, like COBOL...

      1 reply →

  • For anyone who has had to touch any desktop version of Sage in 2026, this is not at all a surprise.