Пиксель. История одной точки

Text
Aus der Reihe: Individuum
2
Kritiken
Leseprobe
Als gelesen kennzeichnen
Wie Sie das Buch nach dem Kauf lesen
Schriftart:Kleiner AaGrößer Aa

Гибкость

Компьютер – это технический Протей среди машин. Его сущность – в его универсальности, в его способности к имитации. Поскольку он может принимать тысячи ликов и выполнять тысячи функций, он может удовлетворить тысячи вкусов.[12]

– Сеймур Пейперт. «Переворот в сознании» (1980)

Каждый шаг, который делает компьютер, абсолютно тривиален. Типичное действие имеет такой вид: взять несколько битов отсюда, что-нибудь с ними сделать и положить получившиеся биты туда. «Что-нибудь» может сводиться, например, к замене каждого 0 на 1 и наоборот или перемещению каждого 0 или 1 на одну позицию вправо.

Длинные последовательности соединенных вместе смехотворно простых шагов составляют мощь компьютера. Совсем не очевидно, что бессмысленные шаги должны приводить к осмысленному итогу. Каким образом последовательность примитивных действий приносит потрясающие результаты? Где таится магия?

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

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

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

Компьютер, как и пианино, может выполнять бесчисленные последовательности простых базовых шагов. Таким образом, он способен осуществлять бесконечное количество сложных и значимых процессов – своего рода музыки – и при этом использует всего 2 бита, а не 88 клавиш. Именно слово «бесконечное» отражает Гибкость – качество, столь важное для компьютеров, что я буду писать его с заглавной буквы. Человеческий разум переполнен множеством процессов, которые способен реализовать компьютер. Всегда есть возможность создать еще одну значимую последовательность из бессмысленных простых шагов для чего-то нужного: приложения, игры, фильма… И все это делает один инструмент – компьютер.

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

Усиление

Еще один, совсем иной вид превосходства машин над человеком – это Усиление. Очевидно, что компьютер способен повторить действие – любую последовательность примитивных шагов. Тут все просто. Важно, что он может повторить это невероятное количество раз со скоростью, которую мы не в состоянии осознать. О бесконечности речь не идет. Мы можем посчитать количество повторений – или, по крайней мере, наши компьютеры справятся с такой задачей. Но осознать столь большие числа нашим человеческим разумом не получится. Нас захлестнет масштабность компьютерных процессов. Одиннадцатьдесят одиннадцать дизиллионов – смешное выдуманное число, словно Скрудж Макдак встретился с Бильбо Бэггинсом, – но оно показывает, насколько бессмысленны для нас числа, описывающие процессы в компьютерах, даже если они реальны. Мы не сумеем их представить. Как говорит Валентайн в эпиграфе к этой главе, «нужно быть чокнутым», чтобы иметь дело с ними. И даже этого, вероятно, не хватило бы[13].

Повторение задачи, для выполнения которой компьютер уже запрограммирован, тривиально. Просто дайте соответствующую команду, и он все сделает. Дополнительных умственных усилий практически не требуется. А вот чтобы ускорить компьютер для работы с невообразимыми числами, требуется невероятное интеллектуальное мастерство. Это аппаратный дизайн. Им занимаются творческие люди с особым складом ума – инженеры.

В электротехнике усилить означает увеличить во много раз, а точнее, экспоненциально – не просто удвоить или утроить, а например, возвести в квадрат или в куб. Если входной сигнал был, скажем, 10 вольт, то усиленный выходной сигнал будет не 20 или 30 вольт, а 100 или 1000 вольт. Усиление – это сверхспособность технологии. Первые компьютеры появились именно потому, что они могли превзойти человека, усилить человеческие возможности.

Самый первый компьютер увеличил человеческие возможности в 10 000 раз. К 1965 году этот показатель вырос по меньшей мере до 1 000 000 – благодаря созданию все более крупных машин и переходу с вакуумных ламп на транзисторы. Назовем это ускорением Эпохи 1.

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

Согласно закону Мура, усиление будет возрастать по экспоненте каждые пять лет. Таким образом, если в 1965 году усиление человеческой способности к вычислениям составляло 106 (или 1 миллион) – как оно и было, – тогда оно достигнет 107 (10 миллионов) в 1970-м, 108 (100 миллионов) в 1975-м и так далее. Эта идея поражала создателей первых компьютеров не менее сильно, чем нас сегодня. Столь же удивительным оказался и тот факт, что более мощные компьютеры Эпохи 2 уменьшились, а не увеличились в размерах.

В силу своей природы мы не способны понять последствия закона Мура – изменения на порядок. Нам вообще трудно вообразить изменение больше чем в 10 раз. Мы упираемся в концептуальную стену. Чтобы обозначить возникший тупик, вместо арифметического коэффициента 10х мы используем замечательное выражение «порядок величины». Оно подразумевает настолько грандиозные масштабы изменений, что только новые мыслительные процессы и новые концептуализации могут с ними справиться. Это не просто больше – это совсем иначе. Мы должны освоить улучшение на один порядок, прежде чем начнем даже просто размышлять о следующем. Тем не менее компьютеры усилили способности человека как минимум на 17 порядков! Первые шесть (в миллион раз) приходятся на время до появления закона Мура, а после произошло еще 11 изменений на порядок (в 100 миллиардов раз). Все говорят, что произошло усиление в 100 квадриллионов раз; осознать это – за пределами даже самого смелого воображения, как обычного, так и гениального.

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

Снимай или вычисляй

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

Также мы можем создавать пиксели de novo – с нуля, вычислив их. Если мы отобразим их, соблюдая те же правила, что и для пикселей реального мира, то увидим несуществующие миры. Из этой идеи во всей полноте проистекает концепция Цифрового Света нового тысячелетия.

Мы используем обе сверхспособности компьютеров – Гибкость и Усиление – для создания полноценного Цифрового Света: например, полностью цифрового художественного фильма, увлекательной видеоигры или мгновенного визуального доступа к любым интернет-ресурсам. Компьютеры создают пиксели, а не только берут их из визуального мира.

 

Эта глава посвящена Гибкости – сверхспособности, появившейся благодаря изобретению Алана Тьюринга. В ней речь идет об идеях. В следующей главе мы поговорим о скорости и остановимся на оборудовании, предназначенном для их реализации. Речь пойдет об Усилении – сверхспособности, дарованной нам технологиями. Также мы рассмотрим восход Цифрового Света, который удивительным образом совпал с появлением компьютеров. Проще говоря, из этой и следующей главы вы узнаете о героях теории и практики, науки и техники, которые действовали до выведения закона Мура. Сам закон более подробно мы изучим в более поздних главах, когда будем говорить о взрыве сверхновой Усиления, которая привела в действие ускорение Эпохи 2.

У него есть алгоритм

Хотя шифр в авгриме не имеет силы в обозначении самого себя, он тем не менее проявляет силу в обозначении для другого.

– Томас Аск. «Завещание любви» (ок. 1385)

Великий прорыв Тьюринга начинается с идеи систематического процесса. Вот пример, что значит действовать тщательно или системно. Предположим, человек, незнакомый с вашим городом, просит объяснить, как пройти в продуктовый магазин. Скорее всего, вы дадите ему примерно такие указания: «Выйдите из подъезда на улицу и поверните направо. Пройдите до первого перекрестка, а затем пройдите еще два квартала. Там поверните налево и пройдите еще три квартала. Когда минуете перекресток, увидите магазин в четвертом доме справа».

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

В примере с маршрутом фигурирует простой набор инструкций. С каждым шагом происходит продвижение от начала к концу перечня. Количество инструкций, которым нужно следовать, соответствует количеству шагов в списке. Как правило, у систематических процессов встречаются более разнообразные структуры. Рассмотрим инструкцию по забиванию гвоздей: (1) Взять гвоздь. (2) Если гвоздя нет, закончить работу, в противном случае продолжить. (3) Забивать гвоздь молотком. (4) Если гвоздь погнулся, выпрямить его и повторить шаг 3, в противном случае начать снова с шага 1.

Здесь содержится такое же количество инструкций, как и в примере с маршрутом, но есть существенное отличие – петли или, как говорят программисты, циклы. Вы повторяете внешний цикл (шаги с 1 по 4), пока не закончатся гвозди, а внутренний «вложенный» цикл (шаги 3 и 4) вступает в дело, если гвоздь согнулся от неумелых ударов молотка. Выполнение начинается с первой инструкции и, возможно, никогда не закончится, если, скажем, после каждого удара гвоздь будет гнуться. Количество выполняемых шагов обычно намного, а иногда и значительно больше, чем количество инструкций.

В инструкции по забиванию гвоздей есть два шага, при которых происходит ветвление, – они представлены в форме «если… тогда… в противном случае…» (шаги 2 и 4). Их называют условными переходами: «Если какое-то условие выполнено, то переходи к одному шагу, в противном случае – к другому». Условный переход – обычно его обозначают символом ЕСЛИ (if) – изменяет порядок выполнения инструкции в списке.

Он также избавляет от бесконечного цикла. Рассмотрим такой пример: (1) Скажите «Привет». (2) Перейдите к шагу 1. Нет условного перехода, позволяющего выйти из цикла. Такой систематический процесс начинается, но никогда не заканчивается.

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

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

Это не значит, что математика не важна. Люди систематически осваивали ее на протяжении тысячелетий. Даже в эпоху вездесущих калькуляторов дети все еще учатся складывать два числа столбиком. Как известно, чтобы это сделать, нужно последовательно сложить каждую пару цифр, начиная справа, и записать их сумму в ответ. Если (это важно!) она равна или больше 10, то 1 переносится на следующий шаг и прибавляется к цифре, стоящей на одну позицию левее. И так далее. В процессе сложения столбиком есть еще одно неявное ЕСЛИ: если закончились цифры и больше нет единицы для переноса, придется остановиться. Это набросок процесса, который обычно называют алгоритмом сложения. Не сомневаюсь: мы все счастливы, что наши калькуляторы теперь хорошо его «знают» и при необходимости могут сложить даже не два, а два десятка чисел.

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

Джеффри Чосер в XIV веке использовал фразу Nombres in augrym (числа в десятичной системе) для описания делений на астролябии. Но его друг Томас Аск употребил этот термин более выразительно. Его слова, приведенные в эпиграфе, говорят о силе концепции ноля – Sypher in augrym (цифра 0 в десятичной системе). По сути, он утверждает, что, хотя сам по себе ноль ничего не значит, его добавление значит очень много. С нашей точки зрения, каждый ноль справа увеличивает число на порядок и действительно имеет существенное значение. Авгрим Аска далек от нашего алгоритма, но по прошествии времени его афоризм кажется пророческим, предсказавшим потенциал Усиления.

Что произойдет, если количество шагов в алгоритме станет невероятно огромным, число циклов многократно увеличится, уровень их вложенности значительно углубится, а условные переходы сильно разветвятся? Задавая такие вопросы о систематических процессах на рубеже XX века, математики проложили путь к миру универсальных вычислительных машин, хотя сами и не догадывались об этом. Они еще не осознали двойного великолепия Гибкости и Усиления, а также присущих им сверхспособностей.

е-Проблема

Давид Гильберт, король математиков, работал в Геттингенском университете – центре математической вселенной, пока в 1930-е годы нацисты не подвергли гонениям профессоров еврейского происхождения. Еще в 1900 году он использовал свой международный авторитет, чтобы привлечь внимание к проблемам, затрагивающим основы математики. Наибольшую известность из них получили Вторая (противоречивы или нет аксиомы арифметики?) и Десятая (Есть ли универсальный алгоритм решения диофантовых уравнений?). Каждый, кто сумеет решить любую из них, сразу же будет признан математиком мирового уровня.

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

Возьмем утверждение: все предметы – сосновые шишки. Или вот еще одно: все предметы – это айва. Если объединить два этих утверждения союзом или, получится составное утверждение, которое всегда разрешено в такой системе: все предметы – сосновые шишки, или все предметы – айва. В системе есть правило, позволяющее заменить составное утверждение эквивалентным: все объекты – сосновые шишки или айва. Здесь слово «эквивалентный» означает, что если первое утверждение верно, то верно и второе, а если первое ложно, то ложно и второе. Таким образом, перестановка слов не меняет истинности утверждения. Простая перестановка сводит два начальных утверждения, объединенных союзом или, в одно, при этом или занимает положение между сосновыми шишками и айвой, а не между двумя утверждениями. Может показаться очевидным, но суть в том, что каждый шаг в этой логической системе преобразует одно утверждение в эквивалентное с помощью простой, даже тривиальной операции. Новое утверждение вытекает из старого.

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

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

Поставленная Гильбертом задача предполагала поиски алгоритма решения, а не самого вывода. Он не требовал, чтобы в результате систематического процесса действительно из аксиом выводилось утверждение, а требовал, чтобы точно определялась возможность или невозможность вывода. Различие кажется несущественным. Если вы можете определить истинность утверждения, зачем показывать, как оно получено из аксиом? Однако это принципиально важно.

Сегодня научная генеалогия позволяет узнать, что, скажем, Джозеф, живший в XVIII веке, был прямым предком ныне живущего Якова; формально отслеживать родственные связи от отца к сыну – поколение за поколением – при этом не требуется. Если у них одинаковые ДНК на Y-хромосоме (мужской), что легко подтверждается простым лабораторным тестом, значит, они связаны по мужской линии. Путь между ними должен существовать. Но знание о его существовании совсем не похоже на конкретный перечень мужчин, передавших конкретную ДНК своему потомку, то есть на то, что довольно трудно установить документально. Однако наличие такого знания может побудить вас приложить усилия для поиска фактического пути, ведь вы будете уверены, что не потратите время впустую.

Фактически в 1928 году Гильберт предложил задаться вопросом, есть ли у простой логики прием, вроде ДНК-теста, систематически определяющий истинность утверждения без фактического вывода из очевидно истинных аксиом. Это называется Entscheidungsproblem Гильберта.

Это устрашающее слово в переводе с немецкого означает «проблема разрешения». Существует ли систематический способ определить истинность утверждений, выраженных в простой логике? Написание на немецком, безусловно, придает ему мистическую глубину, особенно для читателей, не владеющих этим языком. «Проблема разрешения» звучит как тема лекции для бизнес-школы, но Entscheidungsproblem предполагает Götterdämmerung – гибель богов, которая потрясет и обновит наш мир, – что на самом деле и произошло. Давайте называть ее e-Problem или е-Проблема, по аналогии с email, поскольку Entscheidungsproblem – это слишком длинно.

Макс Ньюман в 1934 году рассказал о е-Проблеме на лекции в Кембриджском университете. Говоря о том, что мы называем систематическим процессом, он использовал термин «механический процесс». Выбранные Ньюманом слова сыграли ключевую роль в нашей истории. Он мог бы сказать «систематический процесс», «эффективный процесс», «рецепт» или «алгоритм». Точных слов для самой концепции еще не существовало. Именно в этом и заключалась проблема.

 

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

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

Он показал, что для простой логики нет никакого хитрого ДНК-теста. Вы должны проделать полную работу по получению вывода, если он вообще возможен. Не существует алгоритма того типа, о котором говорил Гильберт. Как говорят математики, Тьюринг обнаружил, что простая логика неразрешима. В столь неожиданный и тревожный результат сначала не поверил даже великий Гильберт. Даже если бы Тьюринг не сделал больше ничего грандиозного вроде спасения Британии или изобретения своей машины, уже одно такое доказательство поместило бы его в научный пантеон. Он решил одну из сложнейших задач. Широко известным в большом мире за пределами математики Тьюринга сделало не само решение, а машина – тот способ, которым оно было достигнуто. Современный компьютер – прямой концептуальный потомок машины Тьюринга.

Когда Тьюринг занимался е-Проблемой в Кембридже, в Принстонском университете в Нью-Джерси над ней работал Алонзо Черч. Американский математик защитил дипломную работу в Геттингенском университете примерно в то время, когда Гильберт объявил об Entscheidungsproblem. Черч фактически опередил Тьюринга – он нашел математическое доказательство неразрешимости на несколько месяцев раньше. По правилам академических кругов статус первооткрывателя и вся слава должны были достаться ему. Но техника решения Тьюринга разительно отличалась от техники Черча. В математике метод доказательства не менее важен, чем сам факт доказательства. Ньюман считал, что математический мир должен знать о новом методе Тьюринга.

Ньюман предложил Черчу признать вклад Тьюринга, и тот согласился. Они оба опубликовали свои работы в 1936 году, что стало важным шагом, поскольку именно интуитивная, механистическая и даже отчасти самодеятельная концепция программно-вычислительной машины Тьюринга, а не заумная формализация Черча (лямбда-определимость) вдохновила появление компьютеров. В своей опубликованной работе Тьюринг продемонстрировал, что обе концепции эквивалентны, но решение, сформулированное в виде воображаемой алгоритмической машины, имело совершенно иные последствия. Фундаментальная проблема математики, с которой справились оба ученых, не имеет особого значения для Цифрового Света, но вот техника решения Тьюринга – его машина – очень важна.

Эти два подхода предшествовали противостоянию, которое до сих пор определяет развитие информатики, – битве башни из слоновой кости и вонючей химической лаборатории. На сленге кембриджских студентов «идут в вонючки» говорилось о тех, кто собирался получить степень в области естественных наук, в особенности о студентах-химиках. Тьюринг придумал идею машинных вычислений в лишенной запаха и стерильно чистой башне из слоновой кости кембриджской математики, но именно его механистическая, реальная промышленная модель, а не чисто математическая концепция Черча вдохновила создание компьютеров. Информатика по-прежнему разделена по этой линии. В одних университетах ее объединяют с математикой, в других – с инженерией. Гибкость – дар, унаследованный от башни из слоновой кости, а Усиление – сверхспособность, полученная от пропахших химикатами лабораторий и шумных производственных цехов. Участникам безумной гонки, стремившимся снискать славу создателей первых компьютеров, придется преодолевать эту границу.

Не только Тьюринг формализовал понятие систематического процесса. Как мы уже видели, то же самое сделал и Черч, а также еще несколько ученых. Но в сравнении с привлекательностью метода Тьюринга все остальные подходы померкли. Мы до сих пор используем понятия, которые он ввел в своей основополагающей статье 1936 года. Особенно прижилось его слово computable – «машинно-вычислимый». Он также выдвинул саму идею программирования, хотя и не использовал это слово. Фактически он был первым программистом. Также, увы, именно он первым написал неисправное программное обеспечение.

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

Ньюман очень переживал, что Тьюринг превращается в «замкнутого одиночку», и поделился опасениями с Черчем. Он полагал, что общение с математической элитой Принстонского университета – с людьми, говорящими с ним на одном языке, – могло бы обратить усиливающуюся нелюдимость вспять. Поэтому он попросил Черча взять Тьюринга к себе в качестве аспиранта, и тот снова согласился. Тьюринг получил докторскую степень в Америке под руководством Черча.

Тьюринг отправился в США на пароходе «Беренгария» и высадился на Манхэттене в сентябре 1936 года. По случайному совпадению Котельников совсем недавно, в мае, сошел на берег в том же месте и по трапу того же парохода. Советский ученый пробыл в США всего 60 дней и, вероятно, работал над секретным кодом в торговой компании «Амторг», офис которой располагался в центре Манхэттена. К тому моменту, когда Тьюринг прибыл в Нью-Йорк, Котельников уже уехал домой. Они, так сказать, разошлись, как в море корабли, хотя корабль был один и тот же.

Вскоре возникло еще одно любопытное совпадение. Тьюринг отправился из Нью-Йорка в находящийся неподалеку Принстон, чтобы продолжить там занятия под руководством Черча. Затем его наставник Ньюман тоже приехал на полгода в Принстон, в соседний Институт перспективных исследований (Institute for Advanced Study), который иногда называли Принcтитутом, чтобы не путать с Принстонским университетом и избежать уродливой аббревиатуры IAS. Джон фон Нейман – еще одна важная фигура в нашей истории – уже работал в Принституте в качестве одного из первых постоянных стипендиатов.

12Протей – в греческой мифологии морское божество, сын Посейдона, наделен многознанием и способностью принимать облик различных существ. – Прим. пер.
13Одиннадцатьдесят (110) – придуманное писателем Джоном Толкином составное числительное, созданное по аналогии с числами, кратными десяти. Дизиллион – вымышленное числительное из мультсериала «Утиные истории», которое используется в одной из серий, чтобы подчеркнуть размер баснословного состояния богатого селезня Скруджа Макдака. – Прим. пер.