Другие языки программирования и технологии

Вопрос всем желающим стать программистам по самоучителям. Внутри.

Самоучитель, не самоучитель, какая разница. Для тех, кто думает, что профессионалы не ошибаются:

Всем известные падающие и дающие сбой спутники. Между прочим их ошибки обходятся в несколько миллиардов долларов.

Фирма Motorola испытывала новый процессор для автопилота на истребителе в Израиле. Все было отлажено. Пилоты на испытаниях отправились «огибать рельеф» с севера до юга Израиля. Истребитель прекрасно пролетел на автопилоте над равнинной частью, над горной частью, над долиной реки Иордан, и приближался к Мёртвому морю. Не долетев до него, неожиданно происходит общий сброс процессора, автопилот выключается на полном ходу, пилоты переходят на ручное управление, и сажают истребитель.

Процессор отправили на доработку и тестирование. Все тесты прошли снова без сбоев. Снова начали реальную проверку. Истребитель пролетел над всеми территориями, но при подлете к Мёртвому морю: общий сброс, выключение автопилота, ручная посадка.

Длительные тесты не могли выявить никаких изъянов. После продолжительных попыток было найдено, что программы автопилота при вычислении параметров управления по глубоко научным секретным формулам производили деление на значение текущей высоты истребителя над уровнем океана. При подлете к Мёртвому морю высота становилась нулевой, и процессор при делении на ноль давал общий сброс. До этого случая никому не приходило в голову, что самолеты могут летать ниже уровня океана.. .

Где-то в конце 70-х годов - испытания американской ЗСУ "Сержант Йорк". Для поражения вертолетов ЗСУ была оснащена системой распознавания образов. Во время испытаний около неё безуспешно кружил вертолет-мишень, которую она так и не смогла распознать. Зато распознала как вертолет вентилятор в туалете, расположенном метрах в 800-х от ЗСУ. И успешно его поразила.

Испытания американского истребителя F-16 проводились, понятное дело, в северном полушарии. На заключительном этапе самолет решили проверить где-то в Латинской Америке, но уже с другой стороны экватора. При переводе самолета в режим автопилота он автоматически развернулся "вверх ногами".

В Афганистане двое наводчиков-наблюдателей (канадцы) подсвечивали цель для наведения на нее бомбы. После сброса бомбы в GPS приемнике закончились батарейки. Расчет их быстро заменил. В результате ракета прилетела не туда. Причина была в том, что после подачи питания в прибор, переменные, отвечающие за координаты цели, автоматически инициализировались координатами текущего местоположения. Наводчики погибли от близкого разрыва.

На испытаниях Су-24 регулярно случался отказ аппаратуры бомбометания. Причем происходило это только в том случае, если на цель заходил летчик-испытатель Ильюшин. Причина оказалось тоже не сложной. Только он заходил на цель с точностью, превышавшей машинную точность. Получался "машинный нуль", после чего шел сбой из-за попытки деления на ноль.

Причиной взрыва 4 июня 1996 г. ракеты Ариан-5 была программная ошибка. В системе управления ракеты использовалось модифицированное программное обеспечение ранее успешно работавшее на Ариан-4, но Ариан-5 ускорялась быстрее предыдущей модификации, в результате когда на 40 секунде полета одна из вспомогательных подпрограмм попыталась преобразовать длинное целое значение в короткое без проверки величины значения, и то вышло за границы типа, произошло отключение системы управления ракеты, и она была взорвана по команде на самоликвидацию. Прямой (вместе с ракетой-носителем была потерян коммуникационный спутник) и косвенный ущерб от этого программного сбоя был оценен в полмиллиарда долларов.

История о неприятностях ракетного крейсера ВМС США «Иорктаун» . Это экспериментальный, так называемый «умный корабль» (smart ship), важнейшие системы жизнеобеспечения которого управляются компьютерами без участия человека. И что немаловажно – под руководством операционной системы Windows NT 4.0. Так вот, однажды вся эта махина, находясь в открытом море, на три без малого часа встала в полный ступор из-за наглухо зависшего ПО.
Ал
Алексей
40 015
Лучший ответ
Алексей Причем произошло это из-за совершенно пустяковой оплошности одного из операторов, занимавшегося калибровкой клапанов топливной системы и записавшего в какую-то из ячеек расчетной таблицы нулевое значение. Ну а далее пошла операция деления на этот самый нуль. С подобной ерундой справляется даже самый дешевый калькулятор, однако здесь в терминале оператора система дала ошибку переполнения памяти. Причем ошибка быстро перекинулась на другие компьютеры локальной сети корабля, началась цепная реакция, и по известному принципу домино рухнула вся бортовая система, которую удалось восстановить и перезагрузить лишь через 2 часа 45 минут, в течение которых здоровенный боевой корабль оставался по сути дела беспомощен и неуправляем.

Когда испытывали ракету, прикрывавшую самолёт с хвоста, она аккуратно разворачивалась и настигала выпустивший её самолёт.
Бред сивой кобылы!
Эти факты ни имеют отношения к обучению по самоучителям!
Артём Чернякин
Артём Чернякин
31 824
Ну и? С кем не бывает.
Именно чтобы не было таких ошибок и есть тестировщики, так как код без ошибок с первого раза не пишется.
Как и первые пуски ракет ВСЕГДА аварийные=) еще НИОДНА ракета не полетела с первого раза=)
Мне понравилось про то, как каким-то чудом при быстром вводе ломалась система. Вы сами хоть читали что написали? Какая разница какие переменные где применяются? Главное же как. Бред в общем. Причем несвязное что-то
FCP.jpg
На ошибке на единицу построенно огромное колличество хакерских атак, мое мнение: жопоголовые программисты не те объекты считают! На передаче данных через один оператор аналогичная ситуация!
Вывод: да хочу стать программистом! Цель: Аудит!
MM
Mult Mult
668