Здравствуйте, AVC, Вы писали:
AVC>Весь смысл высокоуровневости — позволить компилятору гарантировать определенные свойства программ, например — безопасность типов (type safety).
AVC>С моей стороны это вовсе не эстетская критика.
AVC>Я полагаю, что только прирожденный душегуб согласится писать сложное ПО, отвечающее за безопасность людей, на низкоуровневых языках, подобных Си и Си++.
Что-то в этой ветке часто упоминается, что есть языки, в которых выход за пределы массива четко и точно отлавливается в run-time. И говорится, что это круто, и что из-за отсутствия таковой возможности C/C++ must die! При этом хотелось бы напомнить, что эта возможность Oberon/Java/C# хороша только при отладке. Если такая ошибка возникает во время эксплуатации, последствия от нее что в C/С++, что в Oberon/Java/C# будут
КАТАСТРОФИЧЕСКИМИ.
В качестве примера -- катастрофа Ариан 5 при старте, тогда из-за ошибок программистов не было перехвачено исключение и софт просто вырубился, как на основной, так и на резервной системе контроля. И что толку, что софт был написан на Ada, а не на C++? Поэтому то, что Oberon/Java/C# сгенерирует out of bound exception в run-time, имхо, ничем не поможет программе, в которой это исключение совершенно не ожидалось. А ведь в подавляющем большинстве случаев оно не ожидается

... << RSDN@Home 1.1.4 beta 7 rev. 447>>
21.06.05 18:37: Перенесено модератором из 'Священные войны' — Odi$$ey