ЖАНРЫ

Стив Джобс и я: подлинная история Apple
Шрифт:

У меня сейчас есть рулетка-электрошокер – четыре человека засовывают в нее пальцы, и под аккомпанемент музыки и ярких огней она постепенно замедляется, пока одного из них не бьет током. Те, кто работает с электронным оборудованием, всегда соглашаются в нее сыграть, а программисты, как правило, трусят.

Мистер Макколлум позволял мне заниматься всем, чем я хотел. Он даже разрешал мне выходить на работу в одну компанию по пятницам, чтобы я не скучал. Эта фирма называлась Sylvania, она располагалась в Саннивейл, и там я научился программированию. Мистер Макколлум сказал мне, что я уже полностью освоил его программу, и мне остается только устраивать розыгрыши. У нас в школе компьютера не было. И тогда, на фирме, я впервые столкнулся с компьютером, на котором можно было писать программы – и с того момента обратного пути уже не было.

Я никогда не думал, что мне в жизни доведется столкнуться с компьютером. Я думал: «Боже мой! Компьютеры!» Я купил книжку по «Фортрану» и решил для себя: все, теперь я научусь программировать. Один инженер из компании Sylvania научил меня пользоваться клавишным перфоратором. Я помню, как набирал свою первую маленькую программу и как он помогал мне загрузить ее в компьютер и запустить.

Первая настоящая программа, которую я попробовал написать, – «Ход конем». Она перемещала коня по шахматной доске так, что он только единожды попадал на каждую из 64 клеток. Это не так просто сделать. Сначала я написал программу, ходившую на два хода вперед, затем плюс еще один, и так снова и снова – пока не перепробовал все возможные ходы. И если программа не могла сходить единожды на каждую клетку на доске и заходила в тупик, она возвращалась назад и пробовала новые комбинации. Она могла возвращаться назад столько раз, сколько требовалось для правильного ее завершения. Тот компьютер мог совершать миллион операций в секунду, поэтому я решил, что для него это будет плевым делом и поставленную задачу он решит быстро.

Так вот, сижу я, довольный своей программой, и думаю, что это только первый шаг и вскоре я решу все самые сложные задачи в мире. И что вы думаете? Компьютер не выдает никакого результата. Лампочки на машине немного помигали, а потом застыли в одном положении. Ничего не происходило. Мой товарищ, инженер этой компании, еще немного подождал, а потом сказал: «Ну что, похоже, имеет место бесконечный цикл». И он показал мне, что значит бесконечный цикл – когда программа замыкается и делает одни и те же действия по кругу бесконечно. (Просто к слову – Бесконечный цикл стало названием улицы, на которой сегодня располагается штаб-квартира компании Apple.) Как бы то ни было, на следующей неделе я пришел туда снова и написал программу, которая выводила на принтер все ходы. Помню, как я вытягивал эти распечатки из принтера и внимательно их изучал. Тогда я кое-что понял. Программа и правда работала так, как и должна была работать. Я все сделал правильно. Только на поиск решения ей требовалось 1025 лет. Наша Вселенная существует меньше.

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

Что представляла собой программа «Ход конем»?

«Ход конем» – больше чем просто математическая задача, в которой надо было перемещать шахматную фигуру коня по доске. Это достаточно старая математическая задача, и люди столетиями пытались решить ее – безуспешно. Суть проблемы – переместить фигуру коня по доске 64 раза таким образом, чтобы она попадала на каждую клетку на доске только один раз.

Я нашел в Интернете два сайта для тех, кому это может быть интересно. По ссылкенаходится программа Knight’s Tour Puzzle, которая работает в режиме онлайн. На другой странице, на том же сайте –– есть полная инструкция, овладев которой, вы просто взорвете другим людям мозг! Удачи.

* * *

Я тогда и правда питал громадное уважение к учителям. Я считал, что они и инженеры были умнейшими людьми в мире. Они могли стоять перед нами и рассказывать обо всем простыми словами. Я понимал, что сам был очень способным, но учителя готовились к каждому уроку по учебникам и так уверенно нам потом все рассказывали, поэтому я считал, что они были наверняка гораздо умнее меня. В то время я думал, что все учителя в моей школе были настоящими мудрецами.

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

Если читать то же, что читают остальные, и говорить то же, что говорят остальные, то вас, конечно же, сразу начнут считать умным. Я же стараюсь оставаться чуть более независимым и критичным. Я считаю, что образованность – это способность рисковать и давать вещам собственную оценку, а также способность подвергать утверждения сомнению, задавать правильные вопросы и добиваться истины – а не просто принимать все так, как вам это преподнесли.

До школы Хоумстед и обратно идти было достаточно далеко, и по дороге я размышлял. Мне нужно было преодолевать по несколько миль каждый день, и я принялся анализировать свои интеллектуальные способности. Я думал про то, что достиг выдающихся успехов в изучении математики и естественных наук, но с историей и английским дела обстояли значительно хуже. Как же так? Я подумал, что это были более субъективные предметы – ведь я не раз видел, как симпатичным девчонкам, умеющим льстить, стоило просто подойти к учителям, и им сразу же повышали оценки. И я подумал: «Ну вот, когда ты сдаешь предмет письменно, то твоя работа состоит просто из слов – это все очень субъективно, и единственного точного ответа не существует». Мне нравилось в математике именно то, что в результате ты всегда должен был найти единственное решение, которое могло оказаться правильным или нет. Понимаете, о чем я? Никакой серой зоны – ответ либо правильный, либо нет, и все. (Однажды я сдал работу, и мое решение преподаватель перечеркнул, но я знал, что оно верное. Выяснилось, что ошибка была в учебнике. Такое случается.) Теперь сравним это с сочинением или эссе, которые можно написать по-разному и которые могут содержать множество разных точек зрения. Как можно заранее знать, какому именно варианту отдадут предпочтение учителя? Как определить, кто действительно понял книгу или кто почерпнул из нее больше остальных?

И вот так, во время этих долгих прогулок, я решил для себя, что логика должна быть важнее всего остального. Я и так в это уже верил, но именно тогда окончательно утвердился в своей вере. Я осознал, что не относился к большинству или к какой-то одной социальной группе. Я понял, что думаю иначе, чем другие дети моего возраста. Я думал: «Отдельно взятое утверждение может быть или истинным, или ложным. Математика достаточно правдива, ведь два плюс два это четыре, и если кто-то докажет, что два плюс два – пять, – ну что ж, тогда нам всем останется только принять это». Для меня лично ближе всего к истине была логика. Именно эту этическую норму я унаследовал от своего отца. Логика была для меня всем. Я решил, что главным критерием оценки человеческой личности было стремление к истине. Расчеты, проводимые инженерами, показывали, что эти люди жили по правде.

* * *

Однажды в офисе компании Sylvania я наткнулся на брошюру под названием «Краткое руководство по компьютерам». Я очень интересовался компьютерами, но до этого я узнавал о них и их работе лишь в силу удачного стечения обстоятельств. Эта брошюра стала одной из самых счастливых случайностей в моей жизни.

Инженеры из компании Sylvania разрешили мне взять эту книжку домой. В ней подробно описывалось устройство мини-компьютера Digital Equipment PDP-8. Он размещался на высокой стойке, и на нем была куча индикаторов и переключателей, будто он был частью производственного оборудования на фабрике. Я точно не знал – ведь нигде, кроме как в офисе компании Sylvania, я с компьютерами не сталкивался. Эта книжка наконец дала мне ответ на вопрос: каков был настоящий компьютер. Этот вопрос не оставлял меня в покое начиная с четвертого класса.

Я уже хорошо владел логикой и мог без труда комбинировать элементы и собирать логические схемы. Теперь у меня было подробное описание устройства настоящего компьютера. Я провел много ночей, пытаясь найти способ скомбинировать логические узлы, с помощью которых можно было бы собрать компьютер PDP-8. Моя первая собственная схема компьютера была огромной, я ее не закончил и наверняка наделал в ней кучу ошибок. Но это было только начало.

В течение последующих нескольких лет, начиная со старших классов средней школы, я смог раздобыть схемы практически всех мини-компьютеров, существовавших в то время. Тогда они выходили на рынок чуть ли не каждый день. Они были намного меньше тех огромных машин, занимавших целые комнаты. Типичный мини-компьютер того времени, имевший достаточно оперативной памяти для запуска программ (на понятном языке программирования), был размером с микроволновку.

У меня были схемы мини-компьютеров производства Varian, Hewlett-Packard, Digital Equipment, Data General и многих других фирм. Как только у меня выпадали свободные выходные, я брал каталоги компонентов логики и микросхем, из которых состояли компьютеры, и руководство по какому-то конкретному выпущенному компьютеру и пробовал разработать свою собственную версию этой машины. Частенько я пересобирал один и тот же компьютер два или три раза, используя более новые или совершенные компоненты. У меня была собственная забава: я пробовал перепроектировать все эти компьютеры, используя меньшее число микросхем, чем было предусмотрено в заводской комплектации. Не знаю точно, почему я тратил на это все свое свободное время. Я работал над этим в одиночку в своей комнате, заперев дверь. Это было моим личным хобби. Я не рассказывал о том, чем занимался, своим родителям, друзьям или учителям – вообще никому – много лет. Это было очень личным для меня.

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

Поделиться с друзьями: