UCSD Pascal and the UCSD p-System
A system focused on an extended PascalLanguage, based on an OS designed to run programs interpretively, named after the University of California at San Diego, where it was developed in the late 1970s.
The language was extended to provide a separately compilable unit construct, with separate interface and implementation parts, to support modular programming. With personal discipline, units arguably provided some of the most important advantages of object-oriented programming.
The system compiled Pascal code to p-code, which an interpreter executed. The interpreter was part of a stand-alone operating system, hosted on the DEC pdp-11 (notably the LSI-11), the Apple ][ (6502), the Zilog Z80, the Tandy/Radio Shack TRS-80 (Z80), the original IBM PC (intel 8088), the Motorola MC68000, the Western Digital Pascal MicroEngine?, the TI-99/4A (with use of a P-code card), and others. The stand-alone characteristic simplified saving and rerunning the output of compilations.
The user environment was text-based but full-screen-oriented, probably a reflection of the novelty of "glass teletypes" entering academic programming environments for program writing and debugging. The absence of any scripting facility in the OS was a shortcoming conspicuous in retrospect, if not necessarily in its early days. It did include the ability to record keystrokes (Monitor) which could be edited and used with redirection for primitive scripts.
The system was competively swept away by Borland's Turbo Pascal, which ran much faster and supported the native file system .
On the IBM PC as a platform, the p-System as an OS lost badly to PC-DOS/MS-DOS. The p-System file system had the drawback of not being PC-DOS/MS-DOS compatible (not even source-code text) as stored on floppy disks.
The PC file-system incompatibility issue resulted in 2 decades of procrastination over converting the 21 units of my text-oriented windowed football-game program to TurboPascal. Somehow, OCR, with its practical requirement to verify its recognition character-by-character, always seemed like more hassle than I had time for. --ClayPhipps