PCBUS Programming Language

Remember Datapoint Corporation? It is long gone, but its legacy, and millions of lines of legacy code, lives on. The Local Area Network (LAN) was invented there by Jonathan Schmidt, Gordon Peterson, and others. The personal computer had its origins there in something that was originally intended to be merely a programmable terminal. And a programming language called Databus was designed and written (actually just written; it was never designed) at Datapoint.

Datapoint underwent some serious business reversals in the early 1980s, at about the same time the IBM PC first appeared on the market. Coincidentally, Infopoint's founder found himself out of a job with no easy prospect of getting one. So he bought one of those IBM PCs, set it up in a spare bedroom, and in about a 8 months' time produced version 1.0 of PCBUS, running under MS/DOS 1.1. That was in 1983. Today Infopoint is shipping version 1.5.L of PCBUS to has a world-wide customer base.  This is a mature product, running from a command prompt.

There is an ANSI standard for Databus, although in the standard the language is called PL/B (for Programming Language/Business) because Datapoint wouldn't release the trademark on Databus into the public domain. John served on the X3J15 committee since its inception.

PL/B looks a little like Assembler in its format, although there all resemblance ends. The "instructions" or verbs have the power of COBOL constructs, on which the language was actually modelled. It is one of the few completely-specified languages I have ever encountered, containing a description not just of the declarations and data-manipulation statements, but also the file I/O, printing, and keyboard and display I/O systems. Microsoft is moving C/C++ and Visual BASIC in this direction, but remember, Databus has been around for over 20 years. It's also interesting to note that Java is essentially an interpretive language and completely specified in a similar way.

In addition, PL/B has an I/O construct found in no other language: Associative Indexing. This is a method of finding a key in a file when the complete key is not known or when a partial key can occur anywhere within a field, not just at the beginning. For example, my home-grown contact manager program can find any customer by any scrap of information we might have on them. It uses an AIM search to locate the key, then an ISAM lookup to find all the records belonging to that customer.

The May, 1993 issue of the Windows/DOS Developer's Journal, in its "Interpreters" issue, had as its lead article my description of how PCBUS works.

Recent changes and upgrades as of 6/23/98

PCBUS Code Samples

Back to Infopoint main page

Page last updated on January 2, 2007.