Re: Buffer overflows in 2016 are an embarrassment
it amazes me that processor memory management hasn't stepped up to take care of this and take it out of the hands of the coders
Done decades ago, with capability architectures. The AS/400 did it in 1988,1 as did the Flex system at roughly the same time (though I don't think the Flex was available commercially). The Intel iAPX 432 did it in 1981, though poor performance killed it after a few years in production. The System/38 did it in 1978. The Plessey 250 did it in 1970.
Of those, only the AS/400 (now IBM i) is still available. But it is available. Most people just choose to use processors with much coarser memory-management models because they're cheap.
1Wackypedia claims otherwise, citing a book by Frank Soltis; but having written OS/400 code on both CISC and RISC implementations, under the OPM, EPM, and ILE models, and with the MI and SystemC "low-level" languages, I rather disagree. For all practical purposes, application code ran under a capability-addressing model. Storage could only be addressed through 128-bit "space pointers" which could only be created by the MATPTR instruction, were invalidated if modified, and had range information. Overflowing a buffer produced an immediate trap (a machine check or program check).