Re: Not surprising
"1. The C language and its derivatives. Biggest mistake in the history of computers. Every time you hear about a buffer overflow error in software, realize that it's due to a fundamental design flaw in the C language that leads to the same error repeated over and over."
I would certainly advocate a compiler option to include bounds checking, however...
Screwing up buffers and pointers is not uniquely a C problem. You could make the same mistake on the BBC Micro with code like pointer%!0=blahblah% which might go badly wrong if pointer% wasn't actually pointing at the bit of memory you wanted to write to.
That said, aren't apps written in a bastardised Java (Android) or some sort of distantly-C-like (iOS) both of which are capable of trapping buffer overruns?
"If civil engineers had used building techniques as flawed as the C language, our civilization would lie in ruins today." - we don't (usually) make buildings with faults because even by a process of trial and error we'd learn pretty quickly how to correct these issues. On the other hand, we seem quite content to build entire societies with hokey specifications that make the C standard look a paragon of perfection. Turn on the TV news and count how many seconds elapse before there is a story regarding a bunch of people dying or killed as a result of theologies with holes big enough to fly an Airbus through.
"2. The preferred modern software development method of "code and test incrementally until it doesn't crash any more"."
Yup. Life was much nicer in the era of software supplied on ROM. If it came on EPROM, you knew to expect some quirks. But if it came on a ROM, well, a faulty ROM set could sink a company so there was none of this "push out what we have and fix whatever develops in the field later" idea.
Now we can have software that checks for updates daily. Sure, it can give you an improving user experience and more and more features, but this is only because the product was a rush-job pile of loosely interacting bugs to begin with. When you start with manure, most things are an improvement...