Дата
Автор
Ира Соломонова
Источник
Сохранённая копия
Original Material

Смерть кода. Каким будет программирование будущего?


В одной из многочисленных частей фильма «Крепкий орешек» случается цифровой апокалипсис. Хакеры получают доступ ко всему, чем государство управляет с помощью компьютеров, – светофорам, системам видеонаблюдения и снабжения электроэнергией, счетам социального обеспечения и так далее; начинается хаос, который приводит к многочисленным жертвам. Этот сценарий не так далек от реальности: 28 сентября «технический сбой» вызвал задержки рейсов одновременно в аэропортах по всему миру – в Австралии, Японии, Европе, США. Причиной стали неполадки в работе электронной системы, которой пользуются авиакомпании и аэропорты для регистрации пассажиров и багажа. К счастью, сбой быстро устранили, но его последствия могли бы быть трагическими.

Ночью с 10 на 11 апреля 2014 года весь штат Вашингтон на северо-западе США остался без экстренной службы спасения 911 на шесть часов. Все, кто звонил, слышали короткие гудки в трубке. Одна женщина, пытавшаяся вызвать полицию, потому что в ее дом забрался грабитель, набрала номер службы 37 раз и, так и не получив ответа, схватилась за нож, чтобы защищаться; злоумышленник бежал. Как выяснилось позднее, cбой случился потому, что один из серверов, через который проходили звонки, был запрограммирован на прием не более нескольких миллионов вызовов. Когда лимит был превышен, звонки просто перестали приниматься. Только утром программисты поняли, в чем была проблема и что для ее устранения требовалось всего лишь поменять одну цифру.

До недавнего времени критически важные системы контролировались механически или с участием человека и постоянно проходили проверки для выявления неполадок. Теперь они зависят от компьютера, а тот – от написанной для конкретных целей программы. И если описание электромеханического устройства занимало несколько страниц, то с программами все иначе: код может занимать десятки и сотни миллионов строк. Внесение изменений в программу стоит недорого, и поэтому она меняется постоянно – добавляются новые строчки, новые функции, новые возможности. Эта гибкость не только чудо, но и проклятие, пишет журналист и программист Джеймс Сомерс в статье на Atlantic. По мнению некоторых специалистов, нам необходимо изменить программирование – и сделать это как можно скорее, пока не грянула катастрофа.

Сложность созданных человеком систем превысила его возможности управления ими, и самое неприятное в том, что программное обеспечение не ломается – оно работает именно так, как ему велели. Проблемы случаются, когда приказ неверен. Другими словами, ошибки программы, уверяет Сомерс, – это ошибки человеческого понимания или воображения.

Программный код чересчур сложен, чтобы его представить, слишком «чужероден» для человеческого восприятия. Раньше мы могли видеть, как меняется мир вокруг нас, – как дороги покрываются асфальтом, как растут этажи домов. Теперь, когда что-то меняется, мы этого не замечаем, – изменения происходят благодаря добавлению строчек в код. Мы давим на педаль газа в автомобиле, и тот ускоряется, но между этими двумя событиями нет прямой механической связи – все происходит посредством компьютера, который решает, сколько воздуха дать двигателю. И вот это может быть по-настоящему опасно.

Подпишитесь, чтобы прочитать целиком

Оформите подписку Redefine.Media, чтобы читать Republic

Подписаться [Можно оплатить российской или иностранной картой. Подписка продлевается автоматически. Вы сможете отписаться в любой момент.]

Куда идут деньги подписчиков

Большинство материалов Republic доступны по платной подписке. Мы считаем, что это хороший способ финансирования медиа. Ведь, как известно, если вы не заплатили за то, чтобы это читать, значит кто-то другой заплатил за то, чтобы вы это читали. В нашем же случае все по-честному: из ваших денег платятся зарплаты и гонорары журналистам, а они пишут о важных и интересных для вас темах.
Ключевая особенность нашей подписки: ваши деньги распределяются между журналами Republic в зависимости от того, как вы их читаете. Если вы читаете материалы одного журнала, то ваши деньги направятся только ему, а другим не достанутся. То есть вы финансируете только то, что вам интересно.
Republic использует подписку Redefine.Media. Для оформления мы перенаправим вас на сайт Redefine.Media, где нужно будет зарегистрироваться и оплатить подписку. Авторизация на сайте Redefine.Media позволит читать материалы Republic с того же устройства.
Подписка на год выгоднее, чем на месяц. А если захотите отписаться, это всегда можно сделать в личном кабинете.