Another early system programming language: CMU Bliss. Bliss was used to develop operating systems within Digital Equipment Corporation (DEC), including VMS / OpenVMS.
If anyone here is interested in experimenting with a Bliss compiler, there's one installed on the gein.vistech.net VMS server, and there are free accounts available there. Visit http://deathrow.vistech.net for account registration details.
FWIW, the UCSD P-System and p-code and the Pascal compiler was easily portable, but the tools were also very buggy (at least) on the Terak boxes, and — even for the era — very slow. Folks were always working around some bug or another, or some slowness.
It's not just bugs and slowness. At least in those days, Pascal had the size of an array as part of the type of the array. This meant that you could not have a variable-sized array, because you could not give it a type.
True story: I took over a numerical simulation on a 2D grid that ran slowly, because it implemented the 2D grid as a linked list. If you wanted to refer to the node directly below the current one, and the grid was 60x60, you had to follow 60 links to do it! I looked down on the guy who wrote it as being somehow hung up on linked lists, like it was his favorite data structure from school or something. Only later did I find out that he had no choice - he couldn't allocate a variable-sized array. So we re-wrote it to allocate the biggest array we had memory to hold, and to only use part of it.
But if we were trying to write a portable operating system, or something of that sort, our kludge would not have worked. Allocating the biggest possible size needed is not good behavior for an OS...
If anyone here is interested in experimenting with a Bliss compiler, there's one installed on the gein.vistech.net VMS server, and there are free accounts available there. Visit http://deathrow.vistech.net for account registration details.
FWIW, the UCSD P-System and p-code and the Pascal compiler was easily portable, but the tools were also very buggy (at least) on the Terak boxes, and — even for the era — very slow. Folks were always working around some bug or another, or some slowness.