4 ms·
> The Unix guys showed us the way out, by (a) inventing the first non-assembler language really suitable for systems programming, and (b) proving it by writing
by zurn 13y ago
> The Unix guys showed us the way out, by (a) inventing the first non-assembler language really suitable for systems programming, and (b) proving it by writing an operating system in it.
Not the first, see eg. Burroughs mainframes, early 60's.
JOVIAL was another language, used for systems programming on the militay side, predating C and proven.
Pascal was contemporary with C and UCSD p-System was released just 2 years later than Unix. It was also more portable and retargetable than Unix.
- Hoff 13y agoAnother 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 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.
- AnimalMuppet 13y agoIt'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...
- deleted 13y ago[deleted]