The UCSD "Computer Scientists" were a small group of undergraduates working in Ken Bowles' lab. We were supposedly following Professor Bowles' directions but he was a fairly conservative physicist and we had lots of radical ideas - fortunately he was tolerant. The p-code was not just machine independent - by careful design it was approximately 1/4 the size of native code on those early 8 and 16-bit microprocessors, allowing us to effectively almost quadruple the amount of code we could fit in 64K - minus the interpreter which was 8K of machine code and minus another 8K on PDP-11s for I/O space. We would also use native code for hotspots without appreciably expanding code size. This key idea is what allowed us to have a high-level OS and development environment on those dinky machines when everyone else was compromising quality to get things to fit. Alas, CopyLeft had not yet been invented, the UC sold the P-System and we lost legal access to the code we'd written.
mbessey|10 months ago
Stack-based vs register-based instruction sets are a very clear size vs speed tradeoff. That's also one reason that the Java VM was designed with a stack architecture, though in that case, it was download time they wanted to minimize.
The whole thing with UCSD having to essentially "give away" the p-System to a separate commercial entity is a sad part of the history, for sure.
rgleaves|10 months ago
https://www.sec.gov/news/digest/1981/dig072081.pdf
musicale|10 months ago
Compare with UC Berkeley's BSD UNIX, which was originally open sourced in 1988 (though hamstrung from 1992-94 by the Unix lawsuit, opening the way for Linux), and happens to be running in the system I'm typing on...
It appears that UCSD eventually (2006?) made the p-System 1.5 source code available for download, but unfortunately non-commercial only (CC BY-NC-SA?) rather than BSD, etc.