3 ms·
> Extended Algol was available in 1961. What extension was that? Burrough's ESPOL (the notable use of an Algol extension for system programming, on a processor
by kps 11y ago
> Extended Algol was available in 1961.
What extension was that? Burrough's ESPOL (the notable use of an Algol extension for system programming, on a processor designed to be an Algol target) had what we would now call inline assembly.
> Mesa was already being used at Xerox PARC when C was born.
Close; C ~ 1972 (started 1969), Mesa ~ 1976 (started 1971). The Alto system software was mostly BCPL; Mesa arrived with the commercial D series. Mesa also targeted a virtual instruction set (i.e. like Java or p-code) designed specifically for it, run by an interpreter on the bare metal.
- pjmlp 11y agoBurroughs had Extended Algol and ESPOL, yes. It still doesn't invalidate the fact that it had more memory safety features as C, one decade earlier. Regarding Mesa that is like calling x86/x64 firmware an interpreter for Intel bytecode. Most literature in those days used bytecode to refer to Assembly processed by CPU microcode.
- kps 11y agoThe point was that those machines had the benefit of instruction sets co-designed with the language. (And Mesa had strong default type safety, but basically the same memory model as C, allowing pointer arithmetic, null pointers, and dangling pointers.)
- pjmlp 11y agoOf course Mesa had pointer arithmetic, null and dagling pointers. Any systems programming language has them. However there is a difference between having them as an addition to strong type features and them being the only way to program in the language. For example, using arrays and strings didn't require pointer arithmetic. In C all unsafe features are in thr face of the programmer. There is no way to avoid them. In Mesa and other similar languages, those unsafe are there, but programmers only need to use them in a few cases. C was designed with PDP-11 instruction set in mind. For many years that the C machine model no longer maps to the hardware as many think it does.
- nickpsecurity 11y agoALGOL68: The language Thompson, Ritchie, and Pike basically cloned when they made Go. Nothing went in there unless everyone agreed on it. Final was every feature they had wanted in a language. Most of which was already in ALGOL68 with key aspects in use by Burroughs since their 1961 designs. Had they just subseted or simplified ALGOL68, they'd have quite the head start and we'd be stuck with a language that's a lot better than C. I imagine the implementation would've been more suitable for OS development, too. ;)