Joe Loughry, the original author of this page, recently contacted me about this page with some updates. In case you somehow got here by accident, the BANCStar story is a rather twisted one. Joe sent me this page for the original Tarpit and I posted it; however, the publishers of the program, a company called Broadway and Seymour, took great exception to the existence of this page and its less-than-complimentary attitude towards its product and sic'ed a lawyer on me. Being a mere college student at the time, and having a lot less of a spine than I do now, I backed down and removed the link (but did not delete the page).
As I said, I've grown a spine since then.
I won't make the mistake again of backing down over a free speech issue; it's the one hot button in my political mindset. So without further ado, here is Joe Loughry's BANCStar description, complete with his 2000 update...
I think the world is ready to be introduced to BANCStar.
The following actual sample of BANCStar source code was taken from a production system. I'm not too worried about revealing a lot of proprietary information here, as only about ten people in the world can read this code:
8607,,,1 11547,15475,22002,22002 1316,1629,1,1649 3001,1316,3,30078 11528,22052,22002,22002 9301,0,1528,1528 31568,10001,800,107 8560,,,1568 8550,210,, 3001,,, 3100,1316,3,30089 11547,15475,22002,22002 3001,1316,3,30089 3001,1317,3,10000 8400,,, 8550,700,801, 3001,,, 9301,0,522,522 3000,1284,3,10001 8500,,3, 8500,,5, 1547,,1,-2301
I think we had something like 1,350 files of this code, most files a few hundred lines long, though some were over 1,000 lines. The system ran the retail branch operations of a major commercial bank in the early 1990s.
Interesting features of BANCStar included:
3001("block conditional"), and
3101("reverse block conditional"), as well as
BANCStar actually came with a "screen generator" that was supposed to be used to construct applications. But the 5.1c version of the generator was so limited that experienced programmers soon began to pry off the covers and modify directly the intermediate code that the run-time module actually executed.
When I arrived in Seattle in early 1990, I joined a team of seven programmers who by now routinely wrote directly in BancSTAR machine language, completely ignoring the screen generator. The first time they showed me the language, I thought it was a joke. But within a few weeks I was reading and writing the code, with the aid of every BancSTAR programmer's favorite tools: a dot-matrix printer, lots and lots of different color highlighters, and a three-ring binder called the Prompt File, stuffed with printouts of the dozens of tables in the system, and religiously updated anytime anyone changed anything of significance. (I wasn't kidding about reusing storage; if you needed a constant integer 1000, and you could find a place where somebody else had once used that same value, you linked your code to his and hoped it never changed.)
We developed some in-house tools for programming large applications in BancSTAR, and at one point attempted to interest Broadway & Seymour in them, but I think they never really believed us, that we were writing directly to their internal, low-level, undocumented machine code.
31 July 2000
[END of message]