Здравствуйте, AVC, Вы писали:
E>>В качестве примера -- катастрофа Ариан 5 при старте, тогда из-за ошибок программистов не было перехвачено исключение и софт просто вырубился, как на основной, так и на резервной системе контроля. И что толку, что софт был написан на Ada, а не на C++? Поэтому то, что Oberon/Java/C# сгенерирует out of bound exception в run-time, имхо, ничем не поможет программе, в которой это исключение совершенно не ожидалось. А ведь в подавляющем большинстве случаев оно не ожидается
AVC>У меня иные сведения о катастрофе Ариана.
AVC>AVC>История постоянно подтверждает правоту Н.Вирта. Например, взрыв в 1996 г. ракеты-носителя Ариан-5 стоимостью около 500 миллионов долларов через 40 секунд после старта произошел, как выяснилось, из-за сбоя программного обеспечения: одна из вспомогательных подпрограмм пыталась преобразовать длинное целое значение в короткое без проверки величины значения. Компиляторы Оберона по умолчанию отказываются компилировать такие программы, считая их ошибочными, тем самым "тыкая носом" проектировщика в точки потенциальных сбоев.
Ой мама, куда вас занесло... Вы ещё вспомните старую историю об ошибке в программе на Фортране, когда программист перепутал ',' и '.' и вместо цикла получил объявление вещественной переменной, которое превосходно скомпилировалось, но только потом ракета мимо марса промазала...
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.