Re: re Using zero terminated strings in C didn't turn out to be the best design decision ever
I agree that the design goals of C didn't include security. Back then I'm sure people were too busy being excited about every little thing they invented. I totally get that.
But that brings me back to my original comment. Technology has moved on. Times have changed. We've grown up and matured as an industry and as individuals - well most of us have. Anyone can write software today, not just people who spend their days in labs wearing white coats and smoking pipes. And because of this, our tools and technologies need to mature as well. No longer should we be making it so easy for programmers to make what are, essentially, simple mistakes. Sure, the languages of today can allow access to hardware and allow programmers to overrun buffers, but these things should not be considered the norm. There should be better alternatives in place for 99.99% of the tasks developers need to perform.
A lot of C/C++ compilers these days can issue warnings if you use unsafe/legacy functions. Turn those warnings into errors and let's move forward together as an industry.