Засмеялись. Шарк вышел на середину:
— Лис... Ты, чем кадрить молодежь, расскажи нам про стажировку в Google.
Лис опять улыбнулся в стиле “хочешь верь — хочешь не верь”:
— А что про Силиконовую долину рассказывать? Взяли там в проект странного парня... код пишет — говно, я так ему и сказал. Тот к менеджеру: типа, он Стенфорд заканчивал, и тут ему какой-то русский... И вообще, мол, понаехали тут! А это зря, наш-то менеджер — чистокровный индеец чероки. Он и зарядил этому арийцу: "Кому не нравятся понаехавшие, могут убираться в свою Англию".
— Короче, нормально там все, — Лис выбрал место на первом ряду и угомонился. Шарк уже развертывал в сети общую для всех программу; объявил тему занятия: выделение памяти. Сергею информатику преподавали в интернате, и куда лучше, нежели фехтование. Так что разницу между ссылкой и указателем объяснять не требовалось. Хотя задания оказались неожиданно увлекательными — парень даже забыл, что справа от него, практически плечом в плечо, уже добрых полчаса сидит самая настоящая девушка!
Инь-Янь пришла на занятие явно не кадрить парней: код у нее получался вполне осмысленный. Хотя исключения Сергей бы все-таки указывал вручную. Мало ли, как расставит условия компилятор. Если юниксовый gcc всегда проверяет сначала это, а потом вон то — виндовый C++ некоторые вещи делает в разном порядке, смотря на какую версию нарвешься... С другой стороны, вот в юниксах как раз-таки можно нарваться на watcom, а это вообще сон разума. Особенно первых релизов. Свобода же — стандартов нет...
После занятия Сергей помогал убирать ноутбуки, носил вместе со всеми столы обратно в ангар, слушал разговоры:
— ... Сидишь такой, сосредоточенный на работе, долго не отвлекаешься. Сделаешь задачу, выдохнешь, распрямишься, ноги вытянешь, системник под столом носками туфель стукнешь... И тут мысль: “Да как я сюда попал?! Еще вчера же катился с горки на капоте от запорожца!”
— ... Ну так вы взяли того новенького?
— Ну да. Прикинь, я говорю: “сам кодификатор”. А он переспрашивает: “Что еще за самка-дефекатор?” И тогда я понял, что тестировщика с более альтерантивными мыслями нам не найти!
— А в нашей компании лучший тестировщик — девушка. Те самые женские секретные умения. Аккуратность и внимательность, без которой малыш что-то сожрет или откуда-то свалится. По перемене дыхания понять, что ребенок засунул в нос бусину. И так далее. Я уж не говорю, что первым программистом вообще считается женщина, Ада Лавлейс. В честь ее даже язык назван.
— Если про языки, то пример неудачный. Джаву взять: женские сплетни. Много лишних слов, мало конкретики.
— Да ладно! Нормальный язык. Это “джава-скрипт” как общение двух... Э-э... Прожженных сантехников. Половина слов маты, а вторая половина — местоимения. Из-за динамической типизации и замыкания.
— Все равно страшнее ассемблера зверя нет. Чисто инструкция для бытовой техники. Подробная и понятная даже головожопому моллюску. Только суть ускользает за деталями.
— За деталями — это к плюсам. Там как разговор двух физиков-педантов, или как юридические документы: все очень дотошно, конкретно и с кучей уточнений.
— Зато декларативные языки и языки разметки — вообще священнописания. “Пусть будет то, пусть будет это”, а что реально браузер покажет — догадайся сам.
Сергей протолкался поближе кое-что спросить у Шарка, но перед ним вклинилась тоненькая девчушка с золотистыми волосами, золотистыми меховыми наушниками, солнечного цвета рюкзачком — добро хоть, майка белая, а джинсы синие. Зато кроссовки — опять в цвет...
— Снежана? Что случилось?
Девочка молча хлюпнула носом, протягивая Шарку ноутбук понятно какого цвета.
— Игра не ставится? Картинка не выводится?
Сергей тоже глянул через плечо — и обжегся о черный экран. Текстовый режим, вовсе без графической оболочки. На экране код — а не детский код, нормальная такая лесенка, функции прокомментированы с той самой аккуратностью девочки-отличницы. Даже все отступы на местах! Не спеша писали, не гнали к сроку, дали время на оформление. Содержание непонятно. Куски чего-то здоровенного, без полных исходников не разберешься.
Снежана потыкала тоненьким пальчиком с золотистым ногтем:
— Не компи-и-илится!
— Убью Змея, — Шарк огляделся, — он тебе что, не мог попроще задачку найти?
Снежана от возмущения даже носом хлюпать забыла:
— Я не хочу попроще! Я хочу настоящее!
— Так не расчетное же ядро экономики Лантона!
— А почему, кстати? — захрипел вошедший Змей до того злобно, что все вздрогнули. — Чего там справляться, голая арифметика. Девочка поумнее некоторых...
Шарк поглядел на засветившуюся от похвалы Снежану — натурально, золотистым светом! Вздохнул и потянул за рукав раскрывшего рот Лиса:
— Захлопни варежку. Одну дуэль ты нам уже нарисовал. Твой противник новенький, а мне-то Марк сейчас хер на лбу вытешет своим томагавком...
— А кто Змея только что убить хотел? — тихо сказал на ухо расхрабрившийся Сергей, ухватив программиста за пояс. — Объясни мне одну вещь. Или не выпущу.
— Во молодежь пошла, на ходу подметки режет! — восхитился Лис. — Шарк, уе... Выписать ему воспитательных?
Шарк поморщился и отмахнулся:
— Вообще шутки не понимаешь? Спрашивай, парень.
Сергей замялся, подбирая слова.
— Шарк... Ты... Вы... Непохожи на школьных учителей, которые от восьми до семнадцати. По глазам видно, у вас есть... Что?
Программисты переглянулись и вышли от общего спора к столику дежурного. Начал Шарк:
— Вообще-то делаем.
— Но это не для всех, — ухмыльнулся красавчик-Лис. — Вступай в клуб — скажем.
— Эй! Втемную решать западло!
— А кто меня только что Змеем шантажировал? — Шарк тоже умел ухмыляться в мафиозном стиле; Сергей мысленно дорисовал ему на голову шляпу — ”борсолино” или “федору”. Костюм и туфли на Шарке уже правильные: строгие черные. А в руки... Да вон “Томсон” со стены снять, чисто мафиозное стреляло. И готов Аль-Пачино. Местный. В терминах программирования — локальный.
— Ладно, скажу. — Шарк вытащил собственный планшет, но включать не стал. Так и смотрел в темное зеркало. — Меня давно напрягает, что вычислительная отрасль всей Земли тянет за собой наследство старых процессоров. Повторяет неудачные решения просто для совместимости с черт знает какой древности программами. Вот простой пример.
Шарк подхватил один из клубных ноутбуков и нажал перезагрузку.
— Гляди, Серый. Вот как там сейчас загрузка идет? Откуда считывается основная программа? Если она запорчена, как заменить? Как вообще узнать, на чем споткнулся процесс? А самое главное — почему так долго?
Сергей посмотрел на заставку:
— Гребаный GRUB! Я по нему зачет никак не сдам!
— Это ты еще EFI-стандарта не видел, на разметку дисков. Я уж молчу, что русских кодировок пять штук.
— Среди нас, айтишников, GRUB считается простым и удобным загрузчиком, — неожиданно серьезно пояснил красавчик-Лис. — А надо, чтобы просто и удобно не только для нас. Для людей вообще. Как утюг. Нажал кнопку — греется. Не греется — значит, контакта нет. Гарью воняет — значит, где-то лишний контакт. Вот как надо. Змея спроси, он же в летно-космическое поступает осенью, уже подготовительные курсы прошел. На орбите надо просто и прозрачно.
Это беглец из специнтерната знал безо всякого Змея.
— И что?
Шарк включил собственный планшет:
— Мы считаем, что минимальный атом информации лучше не восьмибитовый байт, как сейчас. А символ с некоторыми свойствами. И вся память, соответственно, должна размечаться не как сырое байтовое поле — а как связное дерево из объектов, ссылающихся друг на друга... Ну, как дерево каталогов на диске.
— Насколько я понимаю, это сильно замедляет обработку? — в клубе как-то незаметно настала тишина, и Змея услышали все.
— Сейчас компьютеры намного быстрее прежних, — живо нашедшийся в новых обстоятельствах Лис вывел проекцию экрана прямо на стену, но там из-за кирпичей никто ничего разглядеть не смог. Лис, не смущаясь, перенацелил проектор на полотнище клубного флага — белое, только в центре черно-синее дерево — и быстро водил алым пятнышком лазерной рулетки по блок-схемам.
— ... Скорость вычислений пусть железо дает. Мы увеличиваем скорость взаимодействия с человеком. За счет приближения входного языка к естественному. И представление информации у нас не сырая масса, не плоская таблица — сразу упорядоченная структура. Вот как в стрелялках типа Дума или там Сэма графику вычисляют — строят BVS-деревья, разделяя на отображаемое и невидимое.
— И что это даст?
Котелок-скептик Сэнмурв. Кто бы сомневался!
— Для начала это даст возможность писать программу в терминах предметной области, не привлекая программистов. То есть, задавать поведение компьютера напрямую. Подумайте, ведь вся техника на Земле так развивалась. Те же машины — сначала приходилось нанимать не только водителя, но и механика. Уметь карбюратор продувать. Свечи зажигания разборные выпускались. Если откажут, их не на новые меняли, а чистили. Сегодня на электромобилях кнопку нажал — поехал. Даже правила знать не обязательно, автопилот есть!
Сэнмурв покривился:
— Вы только что изобрели очередную реализацию FORTH-машины. Сколько их уже поперенаписано! Еще ЛИСП вспомните, у финнов, помнится, до воплощения в железе дошло. Хювеннен-Сеппяйнен “Мир ЛИСПа”, как сейчас помню. На обложке то самое дерево. Вы думаете, они проиграли конкуренцию нормальным архитектурам просто так, или все же имелась реальная причина?
— В одна тысяча девятьсот восьмом году, — вступил Змей уже обычным голосом, — электромобилей по Нью-Йорку бегало поболее, нежели “керосинок”. Электроходы особенно любили женщины и доктора: ничего не пачкалось, не разъедал платье бензин, поршни не прогорали, не пугали треск и грохот, не воняла жирная копоть выхлопа. Для зарядки, приехав к пациенту или там домой, просто втыкали шнур в розетку. В любую, где имеется электричество, а не только на заправке. Потом наступила эпоха “керосинок” — запас хода у них оказался намного больше, это и решило дело.
Змей махнул рукой в сторону выхода:
— Но сейчас вот у меня, например, флип на электрике. И весь предполетный контроль сводится к проверке, не оторваны ли лопасти винтов. И нет ли трещин в несущих балках. Состояние цепей и заряд батареи компьютер проверяет сам. А больше там ничего нет. Ни зубодробительной сложности автомата перекоса, ни турбин хитроумных, ни редукторов с такой механической обработкой, что разве токарь неземной квалификации сделает!
— Команды на человеческом языке прекрасно понимает голосовой помощник, — не уступил Сэнмурв. — Алиса та же, или там Сири. На кой черт заново городить аналогичную систему?
— Но какой ценой это достигнуто! — взорвался Лис. — Ты хоть раз видел трижды распрогребучий список библиотек или DLL, подгружаемых с каждой новой программой? Убей меня тапком, я не понимаю, какие в них сверхособые функции приходят, которые нельзя в операционку вынести? Давно пора принять новую архитектуру!
— В далекой перспективе мы хотим архитектуру, — вклинился Шарк, — которую можно сделать на радиолампах.
— Потому, что радиолампы более устойчивы к излучению, чем кристаллы, — Змей снова обозлился ни с того, ни с сего. — Мне как раз вчера вечером напомнили...
— Ну да, — Шарк в запале даже не обратил внимания на вспышку, — мы такую архитектуру делаем с немцами, совместно, из Берлинентехникшколе. Они там раскопали старинный станочек еще профессора Цузе. Для производства памяти и процессора по единой технологии: на ферритовых каплях.
Челюсть грохнула об пол не только у Сергея.
— И чего, эта древность эпохи лысого кукурузника способна чего-нибудь посчитать космического?
— Мой лучший вирус весил двадцать шесть байт, — огрызнулся Лис. — Не мегабайт, не килобайт. Байт! Меньше символов, чем в нашем алфавите. Но чемпионом я считался ровно четыре дня, потом какой-то болгарин выкатил вирус еще на байт короче. Программы надо уметь писать. Кто не верит, на следующем занятии “Элиту” покажу. Космический симулятор, трехмерный. Ему надо меньше памяти, чем у любого из нас в браслете!
— Графика отстой, видел я это говно мамонта.
— Там главное — расчетная модель. А графика в космосе через любой иллюминатор. Ни одна видеокарта не переплюнет.