4 ms·
The 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
by kps 11y ago
The 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.