Что общего у веб-сервиса и звездолёта
Шутка про IT и глупые клише в современной фантастике. Кратко:
Сценаристы хотят сделать дешево и зрелищно, а получается похоже на фронтенд с открытыми библиотеками.
Кинофантастика последних лет стала точнее описывать тенденции технического прогресса. Теперь в космических кораблях будущего все глобальные проблемы решаются на высоком системном уровне: переключениями светящихся проводов, спортивным хаком ядра ОС и прочими впрысками макгаффина в консоль реактора.
Глупостей хватает в любой космоопере, приведу три примера на мотив свежего Стартрека.
Хакинг из-за ограничений интерфейса. На корабле возникает критическая ситуация: не хватает энергии, чтобы выбраться из чёрной дыры, под огнём неприятеля падают щиты, кораблю оторвало половину и он не может уйти в варп. Борьба за живучесть почти проиграна, но тут герой-инженер изрекает наукообразную фразу:
— Я знаю, что делать! Переключим дефрижератор на амрижератор по обводному контуру и инвертируем тахионную центрифугу!
Решение очевидно требует кардинальных изменений в работе огромного комплекса систем, но история о другом и сценарист решает всё ярким техно-чудом. Герой драматично пробегает пару коридоров, находит шкаф с проводкой, храбро вытягивает пучок проводов и начинает неистово кодить на ручном терминале. В коридорах моргает свет, с потолка летят искры, корабль выдаёт резервной мощи и все выживают.
Запас прочности и дискретное проектирование. В корабле застревает неразорвавшаяся торпеда, которую должны изолировать бронированные переборки. Из-за попадания привод одной из переборок отказывает, выживание корабля под угрозой. Перезапустить привод с мостика нельзя, поэтому к двери бежит офицер с планшетом. Но привод не слушается команд с терминала и его приходится перезапускать физическим рычагом, который размещен только со стороны вакуума.
Необъяснимые аномалии. При попадании в щиты на мостике что-то постоянно взрывается, а весь корабль отчаянно трясёт. При пожаре в отсеке реактора на мостике обязательно вспыхнет пульт управления реакторным блоком. Пульт потушат и продолжат работать с сенсорными панелями, запуская систему пожаротушения в реакторной. Ремонтные дроны дружно заваривают дырку с блюдце, игнорируя торчащую в корпусе торпеду.
Складывается впечатление, что космические крейсера будущего крайне живучи, но не предназначены для боя. Их невероятно надёжные узлы и механизмы словно свалены в кучу и прикрыты от аппаратных конфликтов сырым и непродуманным софтом, который не предусматривает аварийных ситуаций и сбоит от перепадов давления. Словно корабль собран из комплектующих и проприетарного кода разных производителей через типовые API, микросервисы и фреймворки незнакомыми людьми, говорящими на разных языках.
К сожалению, пока в такое будущее довольно легко поверить. Современные программы становятся примитивнее по функциям, но сложнее и запутаннее внутри, стремясь занять всё доступные ресурсы и сетевой трафик. Сайты страдают ожирением от скриптов и подгружаемых модулей, Фотошоп задыхается от собственного веса, а многие мобильные приложения просто не работают без сети. Нет ничего цельного, всё собрано второпях из плохо подогнанных кусков и скачивается откуда-то из Малайзии. Дальше появится 6G и искусственный интеллект, который сам начнёт кодить, и мир утонет в сложных зависимостях или типа того.
Но не будем падать духом. Возможно, современные фантасты так же ошибаются, как их коллеги середины двадцатого века. Мы не получили летающих автомобилей и не встретили инопланетян, но, возможно, совершим круг и вернёмся ко внутренней элегантности и продуманности.
Живите долго и процветайте!