Выбрать главу

Отец продолжал мне их показывать один за другим, пытаясь объяснить, что они делают: вот этот производит радиосигналы, этот – посылает радиоволны, а еще один – это симулятор электронной бортовой системы воздушного судна. Не буду врать, будто я понял хотя бы половину всего этого. Те компьютеры превосходили все, что можно было найти в частном секторе, далеко опережая то, что было в быту – и что я мог себе представить. Конечно, их процессоры запускались целых пять минут, дисплей поддерживал только один цвет, у них не было устройств, чтобы воспроизводить речь или музыку. Но эти недостатки только подчеркивали их профессиональную серьезность.

Отец усадил меня в кресло, подняв его так, чтобы я мог дотянуться до столешницы и большой пластмассовой штуки, которая на нем лежала. Впервые в жизни я видел перед собой клавиатуру. На своем Commodore 64 папа никогда не допускал меня к клавиатуре. Мой досуг у экрана ограничивался только видеоиграми с консолями, имевшими рычажки для управления всего лишь несколькими отдельными действиями. Здесь же не было ни рычажков, ни джойстика, ни пистолета… Это устройство представляло собой поверхность из пластмассы с аккуратными рядами клавиш, на которых виднелись буквы и цифры. Но буквы были выстроены в ином порядке, чем тот, что я изучал в школе. Первой с краю была не А, а Q. За ней шли W, E, R, T и Y. По крайней мере, цифры стояли в том порядке, как я их выучил.

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

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

10 input «Как тебя зовут?»; name$

20 print «Привет,» + name$ + «!»

Вам все это кажется простым, но вы – не маленький мальчик, каким тогда был я. Я был мальчиком с толстенькими, короткими пальцами, не знавшим даже, что такое кавычки, не говоря уже о том, что надо было нажать кнопку Shift, прежде чем их напечатать. После многократных усилий и ошибок я все-таки закончил файл. Нажал «Ввод» – и вдруг компьютер задал мне вопрос: «Как тебя зовут?»

Я был потрясен. Больше ничего не говорилось, что мне делать, поэтому я решил ответить и вновь нажал на уже хорошо знакомую кнопку «Ввод». «Привет, Эдди!» – всплыло вдруг радиоактивной зеленой вспышкой поверх темного экрана.

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

Я тут же понял все недостатки игровых систем. В них было тесно по сравнению с компьютерными. Nintendo, Atari, Sega – все они привязывали вас к мирам и уровням, где можно было идти вперед, даже побеждать, но ничего нельзя было изменить. Отремонтированная консоль Nintendo вернулась в «берлогу», где мы с папой вдвоем состязались в Mario Kart, Double Dragon и Street Fighter. Вскоре я уже перегнал отца во всех этих играх (первый случай, когда я мог в чем-то с ним поспорить!). Но очень-очень часто я еще позволял ему одержать надо мной победу. Мне не хотелось, чтобы он считал меня неблагодарным.

Я не считаю себя прирожденным программистом и не особенно силен в этом деле. Но все-таки за последнее десятилетие или около того я вырос и стал опасен. По сей день процесс мне кажется волшебством: пишешь команды на всех этих странных языках, которые процессор переводит в реальность, доступную не только мне, но всем и каждому. Я был поражен тем, что один отдельно взятый человек может программировать что-то универсальное, что не связано никакими законами и правилами, никакими инструкциями, за исключением тех, что сводятся к причине и следствию. Есть четкое логическое взаимодействие между тем, что вводишь и что в итоге получаешь. Если мой ввод был неверен, неверным будет и результат на выходе. Никогда прежде я не сталкивался с чем-то настолько согласованным и честным, столь недвусмысленно непредвзятым.

полную версию книги