Just for fun. Рассказ нечаянного революционера - Торвальдс Линус. Страница 4
И я врос в свой нос. По крайней мере теперь он не перевешивает все остальное.
II
Наверное, никого не удивит, что мои самые ранние и самые лучшие воспоминания связаны с дедушкиным калькулятором.
Дедушка (мамин папа) Лео Вальдемар Тернквист был профессором статистики в Университете Хельсинки. Помню, сколько удовольствия я получал от вычисления всяких синусов. Не то чтобы меня сильно интересовали результаты (в конце концов, они мало кого интересуют) – но в те давние времена калькулятор не просто выдавал ответ: он его вычислял. И в процессе вычисления старательно мигал – мол, я все еще жив, на это вычисление мне нужно десять секунд, а пока я тебе помигаю, чтоб ты понимал, как я стараюсь.
От этого просто захватывало дух. Теперь все не так – нынешние калькуляторы вычисляют тебе любые синусы не моргнув глазом, а те, давние, устройства ясно давали понять, что выполняют трудную работу. Сомнений не было.
Свою первую встречу с компьютером я не помню, знаю только, что мне было около одиннадцати. Мой дедушка купил Commodore VIC-20 году в 81-м. Раз я проводил столько времени с его волшебным калькулятором, то, наверное, должен был прыгать от восторга в предвкушении игры с новым компьютером – но я этого не помню. Я вообще не помню, как увлекся компьютерами. Это началось незаметно и постепенно захватило меня целиком.
VIC-20 был одним из первых домашних компьютеров. Он не нуждался ни в какой сборке. Достаточно было соединить его с телевизором, включить в сеть – и он уже с готовностью выдает на экран большими заглавными буквами свое «READY», а рядом в ожидании твоих указаний переминался с ноги на ногу огромный курсор.
Жаль только, делать на нем было в общем-то нечего. Особенно сначала, когда готовые программы нигде не продавались. Разве что программировать на Бейсике. Этим-то и занялся мой дедушка.
Для дедушки компьютер был прежде всего новой игрушкой и одновременно мощным калькулятором. Он не только вычислял синусы гораздо быстрее старого карманного калькулятора, но и – по команде хозяина – автоматически повторял вычисления снова и снова. Теперь дедушка мог делать дома многие расчеты, для которых раньше использовал большие университетские машины.
Ему хотелось поделиться этими возможностями со мной. А еще он стремился заинтересовать меня математикой.
Поэтому он сажал меня к себе на колени и давал набивать программы, которые старательно писал на бумаге, потому что не привык работать за компьютером. Не знаю, многие ли мальчишки, сидя со своими дедушками, учились упрощать и вводить в компьютер арифметические выражения, но я занимался именно этим. Не помню, что мы вычисляли, и не думаю, что имел об этом хоть малейшее представление, но я сидел с дедушкой и помогал ему. Возможно, сам бы он делал все гораздо быстрее, но кто знает? Ведь я хорошо управлялся с клавиатурой, а дедушка так с ней и не освоился. Занимался я этим после школы, когда мама завозила меня к дедушке с бабушкой.
Тогда же я начал читать компьютерные описания и набивать из них учебные программы. Там были примеры простых игр для самостоятельного программирования. Если все сделать правильно, то по экрану начинал ходить такой схематичный человечек, а потом можно было изменить программу, и человечек менял цвет. Это было в твоей власти.
Потрясающее ощущение.
Я принялся писать собственные программы. Начало было традиционным:
10 PRINT «HELLO»
20 GO TO 10
Эта программа делает именно то, что и следует ожидать. Она печатает на экране HELLO. Вечно. По крайней мере, пока тебе не надоест.
Но это только первый шаг. Многие на нем и останавливаются. Вот, думают, какое дурацкое упражнение: зачем надо миллион раз печатать HELLO? Однако руководства к первым домашним компьютерам всегда начинались именно с него.
Прелесть в том, что программу можно изменять. По рассказам сестры, я сделал вторую версию этой программы, радикально отличавшуюся от первой. Теперь на экране раз за разом появлялся текст: «САРА – ХОРОШАЯ ДЕВОЧКА». Обычно я не был способен на такие нежности, поэтому Сара была потрясена.
Сам я этого не помню. Стоило мне написать программу, как я тут же забывал о ней и приступал к следующей.
III
Я хочу немного рассказать вам о Финляндии. В один прекрасный день в октябре небо там затягивает противной серой мглой и становится ясно, что скоро пойдет дождь. Или снег. Каждое утро, проснувшись, вы снова окунаетесь в это мрачное ожидание. Если идет дождь – он холодный и смывает из памяти всякое воспоминание о лете. Снег же волшебным образом озаряет все вокруг и настраивает вас на оптимистический лад. Беда в том, что оптимизма хватает дня на три, а снег продолжает лежать месяц за месяцем. И все эти месяцы мороз продирает до костей.
Если вам вздумается выйти из дома в январе, придется брести в сумрачной полутьме. Зима – время громоздкой, вечно сырой одежды. Срезая – как обычно – путь к автобусной остановке, вы падаете на школьном катке. На улицах Хельсинки вам приходится время от времени обходить пошатывающуюся матрону, которая в сентябре была чьей-то элегантной бабушкой, но в январский вторник к 11 утра уже петляет по обочине после сдобренного водкой завтрака. И можно ли ее винить? Через 3–4 часа снова стемнеет, и заняться ей практически нечем. Мне же помогал скоротать зиму особый вид спорта для закрытых помещений: программирование.
Часто – но не всегда – со мной был Морфар (так мы, шведы, называем дедушку по материнской линии). Он разрешал мне сидеть в его комнате и в свое отсутствие. Я попросил денег на первый компьютерный учебник. Все было на английском – приходилось расшифровывать. Трудно читать техническую литературу на чужом, не очень-то знакомом языке. Все мои карманные деньги уходили на компьютерные журналы. В одном из них мне попалась программа для азбуки Морзе. В отличие от остальных программ, она была написана не на Бейсике. Это был просто набор чисел, которые можно было вручную перевести на машинный язык – в цепочку нулей и единиц, которые понимает компьютер.
Так я открыл, что компьютер на самом деле не знает Бейсика. Он слушается гораздо более простого языка. Другие ребята играли в хоккей и катались на лыжах с родителями. Я же разбирался, как работает компьютер. Не зная, что есть программы для перевода «человеческих» чисел в машинные нули и единицы, я принялся писать программы в числовой форме и переводить их вручную. Это называется программированием в машинном коде. Оно позволяет делать такие вещи, до которых иначе не додумаешься. Расширяет возможности компьютера. В твоей власти оказывается все до мельчайших деталей. Начинаешь придумывать, как сделать то же самое чуть-чуть быстрее и занять при этом меньше места. Между тобой и компьютером исчезает барьер абстракции, и вы становитесь очень близки. Вот что такое «быть с машиной на „ты“».
Мне двенадцать, тринадцать, четырнадцать… Другие ребята играют в футбол. Меня гораздо больше привлекает дедушкин компьютер. У этой машины свой собственный мир, где правит логика. Кроме меня, только у трех ребят из моего класса были дома компьютеры, и только один из них пользовался им так же, как я. Мы встречались с ним раз в неделю. А иногда даже оставались ночевать друг у друга. Вот и все мое общение в то время.
И я не чувствовал себя обделенным: мне было хорошо.
Это было уже после развода родителей. Папа жил в другом районе Хельсинки. Он считал, что ребенок не должен зацикливаться на чем-то одном, и записал меня в секцию баскетбола – своего любимого вида спорта. Вот кошмар! Я был меньше всех в команде. Через полтора сезона я устроил скандал, сказав, что бросаю секцию, что это его любимый спорт, а не мой. Мой единокровный брат Лео оказался более спортивным. Но зато он стал лютеранином, как и 90 процентов населения Финляндии. Вот тогда-то папа – непоколебимый агностик – понял, что плохо справляется с ролью отца. Впервые это подозрение начало закрадываться у него несколькими годами раньше, когда Сара стала католичкой.