Chaotic Goods
Mar. 31st, 2011 05:50 pmМне вот всегда хотелось, чтобы компиляторы более жёстко демонстрировали undefined behavior. Чтобы если что-то явно неопределено, то чтобы конкретный результат менялся от версии к версии компилятора, а может и от сборки к сборке программы, от запуска к запуску (если цена этого не слишком велика). Чтобы в хэштаблицах менялась хэш-функция (хотя бы на константу), чтобы memcpy через раз копировал с начала в конец или с конца в начало, чтобы i+++++i выдавало произвольный результат в больших пределах, чтобы любая неинициализированная память, в том числе возвращаемая malloc-ом, была заполнена случайным мусором и чтобы затиралась им сразу после освобождения free, чтобы указатель null в памяти не представлялся нулями, а каждый раз по-разному, чтобы переменные в стеке располагались в случайном порядке и чтобы стек портился сразу после возврата из функции, чтобы размеры int, long и void * были разными, чтобы bigendian, littleendian и middleendian менялись в каждой версии системы.
Может хоть это заставит программистов читать и понимать.
P. S. Этот пост непосредственно спровоцирован этим, этим и этим. Но главные вдохновители — тонны непортируемого глючного кода и программисты-ламеры.
no subject
Date: 2011-03-31 03:30 pm (UTC)no subject
Date: 2011-03-31 03:35 pm (UTC)no subject
Date: 2011-03-31 03:38 pm (UTC)no subject
Date: 2011-03-31 04:03 pm (UTC)no subject
Date: 2011-03-31 04:05 pm (UTC)