👾 Ошибки в программировании
На удивление распространенной причиной проблем являются опечатки. В одном исследовании было обнаружено, что 36% всех ошибок конструирования были опечатками (Weiss, 1975). Исследование почти 3 000 000 строк приложения для расчета динамики полета, проведенное в 1987 г., показало, что опечатками были 18% всех ошибок (Card, 1987). В другом исследовании было установлено, что 4% всех ошибок были орфографическими ошибками в сообщениях (Endres, 1975).
В одной из моих программ коллега обнаружил ряд орфографических ошибок, просто проанализировав все строки исполняемого файла утилитой проверки орфографии. Внимание к деталям на самом деле
важно.
Если вы сомневаетесь в этом, учтите, что три самых дорогостоящих ошибки всех времен, приведших к убыткам объемом 1,6 миллиарда, 900 миллионов и 245 миллионов долларов, были вызваны изменением одного символа в ранее корректных программах (Weinberg, 1983).
Первый баг был зафиксирован 9 сентября 1945 года: в вычислительной машине Mark II Aiken Relay Calculator нашли мотылька, застрявшего между контактами электромеханического реле, что приводило к ошибкам. Извлеченное насекомое было вклеено в технический дневник с сопроводительной надписью: «First actual case of bug being found». Этот забавный факт и положил начало использованию слова «баг» в современном значении.
● Ракета «Маринер-1»: ущерб в 18,5 млн долларов
21 июля 1962 с Мыса Канаверал был произведен запуск ракеты-носителя «Атлас», несущей аппарат «Маринер-1», который должен был отправиться к Венере. Через несколько минут после взлета ракета отклонилась от курса и была подорвана из соображений безопасности.
«Инженеры, проанализировавшие записи телеметрии, вскоре обнаружили, что причиной послужили две независимых ошибки. Антенна ведения на „Атласе“ была изготовленна некачественно, с параметрами ниже заявленных. Когда получаемый ракетой сигнал стал слабым и зашумленным, ракета потеряла привязку к сигналу с Земли, посредством которого передавались команды поворота. Такая возможность была предусмотрена; в случае потери сигнала радиоведения бортовой компьютер должен был игнорировать сигналы с неисправной антенны и выполнять собственную программу, которая, возможно, смогла бы обеспечить успешный запуск. Однако, в этот момент проявилась вторая ошибка. Каким-то образом в программе ведения оказался пропущенным дефис, что привело к некорректному управлению ракетой — уходу влево и опусканию носа. Дефис был пропущен и во время предыдущих успешных запусков „Атласа“, но эта часть программы не использовалась, т.к. не происходило разрыва радиосвязи. Таким образом, первая попытка Штатов осуществить межпланетный перелет потерпела крах из-за пропущенного дефиса.» (Oran W. Nicks, NASA, 1985).
Этого могло и не случиться, если бы антенна аппарата не потеряла связь с наводящей системой на Земле. В результате управление взял на себя бортовой компьютер, программа которого и содержала роковую ошибку.
● Cтадион «Хартфорд Колизей»: ущерб в 90 млн долларов
18 января 1978 года болельщики чудом избежали смерти на стадионе «Хартфорд Колизей». Через несколько часов после того, как они покинули стадион, его стальная крыша рухнула на трибуны.
Причина случившегося – ошибка в расчетах при проектировании конструкции. Уже в то время для строительного проектирования создавался специальный софт. Программист не учел такие факторы, как мокрый снег и ветер при расчете прочности балок, поддерживающих крышу. Он исходил только из веса самой крыши. В результате одна из опор неожиданно прогнулась под воздействием снега, это вызвало цепную реакцию, которая сложила всю конструкцию вместе с другими участками крыши как костяшки домино.
● 15 января 1990 года ошибка в новой версии прошивки междугородних коммутаторов привела к сбою 114 коммутаторов
Из-за этого более 60 тысяч человек остались без междугородней связи на 9 часов. Согласно программе, коммутатор должен перезагрузиться, если получит соответствующий сигнал, однако этот сигнал по ошибке пересылался каждый раз при восстановлении после сбоя какого-либо коммутатора.
Все началось с падения и перезагрузки коммутатора в Нью-Йорке, который вызвал масштабную цепную реакцию, в результате которой 114 коммутаторов перезагружались непрерывно каждые 6 секунд. Сначала компания обвиняла хакеров, однако позже выяснилось, что причиной стала одна неверная строка кода, в которой реализовывалась отправка сигнала.
● Баг в процессоре Pentium: ущерб в 475 миллионов долларов
В 1994 году профессор математики Линчбургского колледжа Томас Найсли обнаружил баг в популярном процессоре Pentium и опубликовал об этом статью.
Ошибка Pentium FDIV — это ошибка в модуле операций с плавающей запятой в оригинальных процессорах Pentium, выпускавшихся фирмой Intel в 1994 году. Ошибка выражалась в том, что при проведении деления над числами с плавающей запятой при помощи команды процессора FDIV в некоторых случаях результат мог быть некорректным.
Согласно заявлению Intel причиной проблемы послужили неточности в таблице поиска, используемой при проведении операции деления.
Компания Intel в ответ на это замечание заявила, что готова заменять процессоры по требованию пользователей, которые смогли бы доказать, что пострадали в результате этой ошибки.
По прогнозам Intel, вероятность её возникновения была столь низкой, что подавляющее большинство пользователей даже не заметили бы её. Однако возмущённые клиенты потребовали заменить процессоры всем желающим. Финансовые потери Intel в результате составили около 475 миллионов долларов.
● Ракета Ariane 5: ущерб в 8,5 млрд долларов
4 июня 1996 года случился неудачный запуск ракеты-носителя Ariane 5, которая была разработана Европейским космическим агентством. Ракета разрушилась на 39-й секунде полета из-за неверной работы бортового программного обеспечения. Эта история запомнилась, как одна из самых дорогостоящих компьютерных ошибок.
В системе управления полетом новой ракеты Ариан 5 использовались фрагменты программного обеспечения ракеты Ариан 4, в частности системы инерциальной навигации. Однако при переносе этой системы для использования на новой ракете, разработчиками не были учтены все особенности. Из-за другой траектории выведения ракеты на 30-й секунде после запуска значение горизонтальной скорости превысило установленные в программе ограничения и вызвало сбой в работе компьютера.
В результате ракета получила ложную команду на отклонение сопел ускорителей, а позже и основного двигателя. На 39-й секунде полета ракета стала разрушаться под действием аэродинамических сил и самоуничтожилась.
Программное обеспечение, установленное на борту Ariane 5, было разработано для более ранней модели – Ariane 4. Более мощный двигатель Ariane 5 спровоцировал баг, не встречавшийся в предыдущих версиях ПО.
В сущности, программа попыталась записать 64-разрядное число в 16-разрядное пространство. Возникло переполнение, в результате которого отказал и основной, и резервный компьютер (поскольку на обоих компьютерах выполнялись одни и те же программы).
На разработку Ariane 5 было потрачено около 8 миллиардов долларов. Общая стоимость спутников, которые должна была вывести на орбиту эта ракета, составляла 500 миллионов долларов.
● Cпутник «Mars Climate Orbiter»: ущерб в 125 млн долларов
Из-за фатальной ошибки аппарат оказался слишком близко к поверхности Марса. Аппарат летел к Марсу 9 месяцев. Mars Climate Orbiter 23 сентября 1999 года должен был выдать тормозной импульс и перейти на высокоэллиптическую орбиту с периодом 14 часов, а затем в течение двух месяцев с помощью ряда аэродинамических маневров в верхней атмосфере Марса довести орбиту до круговой. В расчетное время на высоте 193 км аппарат включил двигатели на торможение. Через 5 минут MCO запланировано ушел за Марс и больше никаких сигналов с него не поступало. Из анализа данных было предположено, что аппарат прошел над поверхностью Марса на высоте 57 км вместо расчетных 110 км и распался в атмосфере.
Субподрядчик, который работал над многими инженерными задачами, не выполнил простейшего преобразования английских единиц измерения в метрическую систему. Диспетчеры пришли к выводу, что спутник на большой скорости вошел в марсианскую атмосферу, где из-за возникших перегрузок его системы связи вышли из строя.
● Бизнес-ошибки в ИТ
Часто возникают вопросы — отчего в мире информационных технологий некоторые крупнейшие сделки так и остаются нереализованными, а самые перспективные продукты не развиваются? Обычно причина в том, что их лидеры не могут предугадать будущее развитие событий.
А ведь события могли сложиться так, что не появились бы ни Microsoft, ни Apple. В альтернативном мире главным поисковым сервером был бы не Google, а Yahoo. Самым распространенным компьютером был бы Xerox, самой популярной социальной сетью – CompuServe. А музыку мы слушали бы через RealPod.
● Спасение Apple
В конце 1990-х годов продажи компьютеров Apple Mac существенно снизились. Этому способствовали более дешевые конкуренты – Power Computing и Radius. Цена акций Apple упала до $5. Но неожиданно помощь пришла от Microsoft: помощь в размере $150 миллионов. Кроме того, Microsoft пообещала продолжить разработку своего пакета офисных программ для MacOS.
Из-за такого решения Microsoft лишила себя определенных перспектив. Вполне возможно, сегодня на рынке царили бы WinPhone, музыку на них мы бы качали через WinTunes. А все пользователи до сих пор с нетерпением ожидали бы выхода достойной альтернативы Windows.
● Потерянный рынок
В середине 1990-х годов, еще до появления Google, самой продвинутой поисковой машиной была даже не Yahoo, не AltaVista, не Lycos или Hot Wired. Система Open Text, как и Google сегодня, работала максимально быстро, точно, охватывая весь объем информации. В 1995 году менеджеры компании Open Text небезосновательно утверждали, что их система смогла проиндексировать каждое слово из 5 миллионов документов, которые на тот момент и составляли Всемирную сеть.
Однако в 1997 году разработчики Open Text посчитали рынок поиска недостаточно перспективным и занялись системами управления корпоративными данными. Ну а через год появилась компания Google, которая показала, что они ошибались на счет перспектив этого рынка.
Ситуация могла сложиться иначе, а сам Google мог бы не занимать сейчас лидирующую позицию. Скорее всего, сервисы работы с информацией в Интернете были бы другими.
● CompuServe и упущенное лидерство
CompuServe 24 сентября 1979 года запустила первый информационный сервис MicroNET, доступ к которому осуществлялся по телефонным линиям. Сервис позволял участникам сети передавать файлы, получать доступ к новостям и событиям, обмениваться сообщениями и присоединяться к дискуссионным форумам. В 1980 году сервис был переименован в CompuServe Information Service (CIS).
Конечно, пользователей сервиса привлекали прежде всего не новости, а возможность общаться, и появившаяся в 1980 году программа CB Simulator, обеспечивающая чат в реальном времени, стала невероятно популярной. В начале 1981 года число пользователей CIS перевалило за 10 тысяч, а к началу 1990-х исчислялось миллионами, в то время сервис был самым популярным в США. Компания имела базу лояльных клиентов, обилие информации об их вкусах, полезная база знаний и практически полное отсутствие каких-либо конкурентов в этой нише.
Однако сервис все еще имел текстовый интерфейс и поминутную тарификацию. Именно это позволило AOL, которая предложила более интересное интерфейсное решение и возможность неограниченного по времени общения за небольшую месячную абонентскую плату, потеснить CompuServe.
Сервис не смог укрепиться на рынке по простой причине — компания не хотела вкладывать в свои преимущества деньги, чтобы потом монетизировать результаты.
● Компьютеры Xerox
Alto от компании Xerox был первым в мире компьютером с пользовательским интерфейсом в виде окон. Он был создан за 10 лет до появления персональных компьютеров под управлением Windows и Maс, задолго до микрокомпьютеров MITS Altair.
Alto поставлялся с мышью, имел возможность подключаться к локальной сети. Кроме того, на нем был предустановлен текстовый редактор, работавший по принципу WYSIWYG («получаешь то, что видишь»).
К сожалению для компании Xerox, в 1973 году рынка персональных компьютеров просто не существовало. Компания создала несколько тысяч таких компьютеров, которые были размещены в университетах страны. Но дальше этого распространение этих машин не пошло, а Xerox никак не пыталась их продвигать.
Когда в компании поняли, что допустили серьезную ошибку, было уже поздно. Была начата работа по продвижению графической рабочей станции Xerox Star, но это уже не могло изменить ситуацию: в результате на рынке прочно закрепились персональные компьютеры с Windows и Mac OS.
● Непроданный Facebook
В 2006 году, когда Facebook было всего два года, широкая общественность относилась к ней, как к узкопрофильной социальной сети для студентов. В то время на Facebook было зарегистрировано 8 миллионов пользователей. В то время как аудитория MySpace превышала 100 миллионов.
Компания Yahoo предложила Марку Цукербергу $1 миллиард за его детище. В июне 2006 года Цукерберг подписал контракт о продаже Facebook.
Однако, на фоне резкого ухудшения финансового положения Yahoo, ее тогдашний гендиректор Терри Сэмел сбавил сумму до $800 миллионов. Цукерберг отказался продавать компанию за эти деньги. Через два месяца Yahoo вернулась к предыдущим условиям сделки, но было уже поздно. После этого дела этой компании шли все хуже. Теперь она продана холдингу Verizon. В начале 2000-х годов капитализация Yahoo превышала $125 миллиардов. Теперь Verizon купила компанию всего за $4,83 миллиарда.
● Странная идея
Информация о том, что iPod придумал Стив Джобс, не совсем верна. Руководство компании Real Networks не оценило идею Тони Фэделла о создании совершенно нового типа музыкального плеера. К тому времени рынок был уже насыщен MP3 плеерами.
Но его плеер был тоньше и меньших размеров, а система доставки контента давала меломанам простые способы наполнить свой плеер новой музыкой. Так, в 2000-ом году Стив Джобс согласился сотрудничать с Тони Фэделлом. Джобс доработал дизайн плеера, а другие специалисты Apple доработали систему доставки контента, которая получила имя iTunes.
В результате около 80% рынка цифровой музыки сегодня принадлежит компании Apple. Сам Тони Фэделл проработал в отделении, разрабатывающем iTunes до ноября 2008 года. А компания Real Networks все так же производит обычные плееры. Однако ее доходы не идут ни в какое сравнение с тем, сколько iTunes приносит корпорации Apple.
#программирование@physics_math
#ошибки@physics_math
#бизнес@physics_math
#article@physics_math