Программист-археолог
Feb. 24th, 2012 10:38 pmЯ сейчас читаю книгу Винджа "Глубина в небе". Это научная фантастика с космическими перелетами, действие разворачивается через многие тысячи лет от наших дней. Человечество расселилось по многим планетам, но из-за невозможности превысить скорость света государства внутри звездных систем являются практически изолированными друг от друга. Впрочем, все это сейчас не важно, я хочу рассказать о другом - в этом славном мире есть специальные люди, программисты-археологи.
Космические корабли (вероятно не только они, но речь сейчас о них) содержат огромное количество электроники, и огромное количество управляющего кода, написанного в разное время разными людьми. Что-то написано еще до выхода человечества в космос. Что-то совсем недавно. Естественно, поверх низкоуровнего кода расположено множество слоев абстракций и интерфейсов. Экипаж по большей части знает как работать с верхним уровнем, особо продвинутые могут опуститься на пару уровней вниз. И вот когда внезапно все перестает работать, программист-археолог начинает спускаться по уровням абстракций, пытаясь, как-нибудь извернуться и исправить положение.
Я рассказал об этом некоторым коллегам. Они поугорали: "прикольное название", "да, мы черт возьми, ровно этим занимаемся", "звучит приятнее чем ассенизаторы". Собственно, я на текущем месте работы и сам занимаюсь чем-то подобным, за тем очевидным исключением, что у нас возраст системы всего несколько лет, а там речь идет о тысячелетиях, и цена ошибки совсем другая. Мне в худшем случае менеджер скажет "ай-ай-ай, Вася", а у Винджа можно тупо угробить корабль со всем экипажем.

И еще там есть прекрасная сцена. Юноша, который должен стать программистом-археологом, узнает масштабы безобразия, естественно, приходит в ужас и восклицает: "Надо все переписать заново!"