— Девушки, ещё раз напоминаю: не надо спрашивать у клиента, что у него стоит, надо спрашивать «Какое программное обеспечение у Вас установлено?» |
Инструктаж в телефонном центре техподдержки. |
Смотрю презентацию продукта, в разработке которого мне придётся участвовать. В презентации попались интересные сведения:
- Авионика самолёта F-22 Raptor содержит 1,7 миллионов строк кода. А F-35 Joint Strike Fighter — почти 10 миллионов строк кода. Это примерно размер операционной системы из тех, что попроще, — какой-нибудь FreeBSD или Windows NT.
- Обычный кардиоводитель содержит программу размером в 80 тысяч строк кода. Я-то думал, что там вообще программы нет, голая электроника с кварцевым осциллятором. Оказывается, есть. «Скачай себе в кардиоводитель прикольный рингтон!..»
- В любом современном автомобиле около 100 миллионов строк кода. Для сравнения, в Windows XP было всего 45 миллионов строк кода.
Двумя пунктами выше я говорил про самолёты. Может создаться впечатление, что в самолёте в 10 раз меньше программ, чем в автомобиле. Это превратное впечатление. Выше речь идёт только об авионике, то есть только о бортовом радиоэлектронном оборудовании. Есть ещё системы вооружения, которые являются совершенно отдельным шедевром программирования (по нажатию кнопки «Огонь» система сама выбирает тип вооружения, осуществляет прицеливание, наведение, выстрел и сопровождение цели с активным противодействием её защитным манёврам вплоть до поражения цели). А есть ещё системы индикации и управления в шлеме пилота, это ещё один совершенно независимый аппаратно-программный комплекс, который тоже является шедевром. Фактически, авионика — это лишь малая часть того, что есть в самолёте. - В тяжёлой индустрии 90% всех инноваций последних лет — результат обновлений программного обеспечения. В медицине и в медицинских устройствах 70% прогресса — следствие изменений программного обеспечения.
Просто удивительно, насколько глубоко проникли программы в нашу жизнь. Кардиоводители с компьютером внутри! Автомобили, в которых столько же кода, сколько в двух операционных системах, — в каждом автомобиле!
Чтобы написать операционную систему уровня Windows XP с нуля, нужно пять-семь лет работы группы из нескольких сотен весьма мощных специалистов. За те же пять лет механическую часть автомобиля создаёт с нуля группа из двух-трёх десятков дизайнеров, механиков и техников. Получается, что доля труда программистов в современном автомобиле в десяток раз выше, чем доля труда всех остальных. (И это на самом деле так — в той же презентации говорилось, что в современной тяжёлой промышленности количество всех железячников как минимум впятеро меньше числа программистов).
Это удивительный вывод. Получается, что автомобиль ездит не столько потому, что кто-то придал куску металла форму корпуса, поставил внутрь двигатель, приделал к нему колёса и сиденья, а в большей степени потому, что кто-то сидел и дённо и нощно колотил по клавишам.
Получается, что автомобиль, как минимум по трудозатратам, — это на девять десятых программный продукт. Девять десятых от машины — результат работы таких психов, как я. И только одна десятая — железо, пластик и стекло, которые возят наши тушки. Получается, что правильнее представлять себе автомобиль не в виде железяки, в которой где-то внутри спрятан маловажный компьютер, занимающийся своим малопонятным делом, а в виде мощного компьютера (если быть точным — сети из около пяти десятков компьютеров), которые выполняют львиную долю работы, и которые подают сигналы на всякие маловажные детальки типа колёс и руля…
Это же в корне меняет всё мировоззрение! Я думал, что мы ездим на железе. А оказывается, мы ездим прежде всего на программах, а железо — это так, ерунда, мелкое периферийное устройство.
А ведь я ещё помню время, когда самой сложной электронной деталью в автомобиле была радиола…
no subject
Думаю, моя любовь к четкому плану, привычка составлять план главы именно отсюда)