Comment by asciilifeform
17 years ago
Lack of array bounds checking is not a problem with C.
It is a problem with our hardware.
Introducing bounds checking without introducing a penalty on array access time is impossible on our "C machines".
C/C++ are often thought of as "close to the metal" - but they are close to particular varieties of metal - those designed to run C/C++. We arrived at them through historical accident. There are many other ways to build a computer - and it is not entirely obvious that a "C architecture" is necessarily the simplest or most efficient:
That a language which is "close to the metal" is braindead is solely a consequence of braindead metal.
The "C architecture" is a universal standard, to the extent that it has become the definition of a computer to nearly everyone. This is why you will never find the phrase "C architecture" in a computer architecture textbook. And yet it is a set of specific design choices and obsolete compromises, to which there are alternatives.
No comments yet
Contribute on Hacker News ↗