> С чем поспорить? Ариан-5 самоуничтожился не из-за программного бага, а из-за несоответствущего
> оборудования. Ada тут вообще никаким боком.Вообще-то баг таки был целиком программный. Несоответствующее оборудование? Ох, лол. Это не вы писали софт ракетам #$%шащимся о небесную твердь с Восточного? Там тоже "космодром несоответствующий".
> Вкратце: на ариан-5 был переиспользован код для предыдущих ракет, который корректно(!)
> работал согласно поставленной задаче. Но из-за того, что железо было другое,
> оборудование вело себя иначе, выходя на неправильную траекторию.
Вообще-то там был integer overflow. Потому что оборудование вело себя иначе, а чудо-программисты со всей их безопасТностью об этом не подумали. Самое интересное что в теории ада вроде должна была это поймать, но они вручную заоверрайдили. Примерно как хрустики с unsafe.
> Для анонимов еще проще: код для armv8 запустили на armv5, с соответствущим результатом.
Идиотская аналогия для целочисленного переполнения, имхо. И, между нами, девочками, ВЫ НИКОГДА НЕ ДОЛЖНЫ СЛЕПО ДОВЕРЯТЬ ДАТЧИКАМ, БЖАД. Это "внешний мир" и он может сделать что угодно. И если кто кодил софт в других допущениях, его, так-то, уволить надо было, и даже не за аду, и даже не за оверрайд фичи в ней.
Говоря за себя - я работая с датчиками всегда оцениваю worst case технической размерности данных которая оттуда может приехать. Мало ли что железо решит отколоть. Если при этом будет overflow, откровенно левое значение после него может быть сожрано за что-то весьма валидное, система возьмет это в оборот, но поскольку это мусор, одному Ктулху известно что будет дальше. В управляющих системах - ничего хорошего.