|
|
|
|
|
by asciilifeform
6024 days 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: http://www.loper-os.org/?p=46 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. |
|