Re[17]: Что толку в Ада если Ариан 5 все равно упал
От: AVC Россия  
Дата: 07.06.05 10:26
Оценка: 22 (2) +1 -11 :))) :)
Здравствуйте, eao197, Вы писали:

AVC>>Весь смысл высокоуровневости — позволить компилятору гарантировать определенные свойства программ, например — безопасность типов (type safety).

AVC>>С моей стороны это вовсе не эстетская критика.
AVC>>Я полагаю, что только прирожденный душегуб согласится писать сложное ПО, отвечающее за безопасность людей, на низкоуровневых языках, подобных Си и Си++.

E>Что-то в этой ветке часто упоминается, что есть языки, в которых выход за пределы массива четко и точно отлавливается в run-time. И говорится, что это круто, и что из-за отсутствия таковой возможности C/C++ must die!


Я не думаю, что C++ must die! Это Вы меня прямо оклеветали.
Я думаю, что C++ is dead.
Говорят, что если петуху отрубить голову, он еще может носиться по двору. Вот C++ и носится... А потом бряк — и уже вверх ногами!

E>При этом хотелось бы напомнить, что эта возможность Oberon/Java/C# хороша только при отладке. Если такая ошибка возникает во время эксплуатации, последствия от нее что в C/С++, что в Oberon/Java/C# будут КАТАСТРОФИЧЕСКИМИ.


Я так и думал, что программисты, предпочитающие Си++, просто не знают, для чего пишутся программы.
А неверные вычисления и их КАТАСТРОФИЧЕСКИЕ РЕЗУЛЬТАТЫ Вас не пугают?
"Не упасть" — не единственная цель программы. Надо еще и требуемые вычисления выполнить, причем без ошибок.
Впрочем, понятно, что Си++программист всегда в страхе: КАК БЫ ЧЕГО НЕ УПАЛО!

E>В качестве примера -- катастрофа Ариан 5 при старте, тогда из-за ошибок программистов не было перехвачено исключение и софт просто вырубился, как на основной, так и на резервной системе контроля. И что толку, что софт был написан на Ada, а не на C++? Поэтому то, что Oberon/Java/C# сгенерирует out of bound exception в run-time, имхо, ничем не поможет программе, в которой это исключение совершенно не ожидалось. А ведь в подавляющем большинстве случаев оно не ожидается


У меня иные сведения о катастрофе Ариана.

История постоянно подтверждает правоту Н.Вирта. Например, взрыв в 1996 г. ракеты-носителя Ариан-5 стоимостью около 500 миллионов долларов через 40 секунд после старта произошел, как выяснилось, из-за сбоя программного обеспечения: одна из вспомогательных подпрограмм пыталась преобразовать длинное целое значение в короткое без проверки величины значения. Компиляторы Оберона по умолчанию отказываются компилировать такие программы, считая их ошибочными, тем самым "тыкая носом" проектировщика в точки потенциальных сбоев.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.