Что произошло
В 1945 году, когда союзные бомбардировщики ещё летали над Берлином, в маленьком альпийском городке Хинтерштайн немецкий инженер Конрад Цузе писал будущее. Не на бумаге — на бумаге было негде, бумага шла на растопку. Цузе работал в крестьянском доме, куда он эвакуировался с единственной уцелевшей версией своего компьютера Z4, которую волонтёры помогли ему вывезти из разрушенного Берлина на телеге. Война закончилась, Германия лежала в руинах, а Цузе — в полной изоляции от мировой науки — создавал нечто, до чего учёные в Англии и Америке доберутся лишь через десятилетие.
Он назвал это Планкалкюль (Plankalkül) — «исчисление планов». Первый в мире язык программирования высокого уровня. До Планкалкюля программисты общались с машинами на языке, который понимала машина: последовательности нулей и единиц, адреса ячеек памяти, коды операций. Планкалкюль предлагал нечто радикально иное — язык, приближённый к человеческому мышлению. Подпрограммы, условные операторы, циклы, работа с массивами — всё, что сегодня составляет азбуку программирования, было описано Цузе между 1945 и 1948 годами.
Трагедия Планкалкюля — в том, что мир его не услышал. Послевоенная Германия была отрезана от международного научного сообщества. У Цузе не было ни коллег, ни журналов, ни конференций, ни вычислительной машины, на которой можно было бы запустить свой язык. Рукопись пролежала неопубликованной до 1972 года. К тому времени мир уже имел FORTRAN (1957), COBOL (1959) и ALGOL (1960). Цузе оказался изобретателем, опередившим эпоху — и проигравшим не конкурентам, а обстоятельствам.
Пять лет спустя, в 1953 году, по другую сторону Атлантики, в Кембриджском университете, профессор Морис Уилкс решал другую задачу — но из того же корня. Если Цузе думал о том, как человеку объяснить машине, что делать, то Уилкс думал о том, как сделать саму машину проще.
Проблема была практической. Процессор компьютера выполняет инструкции — но каждая инструкция внутри процессора распадается на десятки элементарных операций: загрузить данные из памяти, переместить в регистр, выполнить арифметическую операцию, записать результат. Управляющее устройство процессора, координирующее эти микрооперации, было кошмаром для инженеров: лабиринт проводов и переключателей, который нужно было проектировать и отлаживать вручную. Ошибка в одном соединении — и вся машина работала неправильно.
Уилкс предложил элегантное решение: микрокод. Вместо того чтобы прошивать логику управления в аппаратуре, её можно записать в виде программы — микропрограммы, хранящейся в специальной памяти. Каждая машинная инструкция превращалась в последовательность микроинструкций, которые можно было менять, исправлять, дополнять — без перепайки схем. Микрокод стал промежуточным слоем между аппаратурой и программами — тем, что в современной терминологии назвали бы уровнем абстракции.
Значение этого изобретения невозможно переоценить. Микрокод превратил проектирование процессоров из ремесла в инженерную дисциплину. Он сделал компьютеры надёжнее, потому что ошибки в микрокоде можно было исправить программно, а не паяльником. И он заложил принцип, который станет фундаментом всей компьютерной индустрии: сложность нужно прятать за слоями абстракции.
В том же 1953 году произошло событие, которое изменило не архитектуру компьютеров, а их социологию. Корпорация IBM выпустила модель 650 — и компьютер впервые перестал быть экзотикой.
До IBM 650 компьютеры были штучными изделиями. ENIAC — один экземпляр. UNIVAC I — сорок шесть. Каждая машина — уникальный инженерный проект, собранный вручную, требующий отдельного здания, команды обслуживания и бюджета, сопоставимого с небольшим заводом. Компьютер был инструментом для тех, кто его создал.
IBM 650 изменил правила. Он был относительно компактным (два шкафа вместо целого зала), относительно недорогим (аренда — $3250 в месяц вместо десятков тысяч) и, главное, относительно простым в освоении. IBM изначально планировала произвести 50 машин. Произвели около двух тысяч. IBM 650 стал «Model T среди компьютеров» — первой массовой серийной моделью, которую покупали не военные лаборатории, а университеты, страховые компании, банки и промышленные предприятия.
Именно на IBM 650 целое поколение будущих программистов написало свою первую программу. Университеты закупали эти машины для учебных целей: студенты инженерных факультетов впервые получили возможность не читать о компьютерах в учебниках, а работать с ними. Это был момент, когда компьютер из объекта изучения превратился в инструмент работы.
Контекст эпохи
Послевоенный мир жил в двух режимах одновременно: восстановление и гонка. Европа лежала в руинах — и строилась с нуля. Советский Союз и Соединённые Штаты вступили в холодную войну — и каждая сторона вкладывала беспрецедентные ресурсы в науку и технологии. Компьютер, родившийся как военный инструмент (COLOSSUS для взлома немецких шифров, ENIAC для расчёта артиллерийских таблиц), оказался слишком полезным, чтобы остаться только в руках военных.
Судьба Конрада Цузе — зеркало судьбы послевоенной Германии. Инженер, создавший первый работающий программируемый компьютер (Z3, 1941) и первый язык высокого уровня, оказался на обочине мировой компьютерной революции. Пока американцы строили UNIVAC, а британцы — Manchester Baby, Цузе в альпийской деревне чертил на бумаге будущее, которое никто не мог прочитать. Его компания Zuse KG, основанная в 1949 году, производила компьютеры для немецкого рынка, но так и не вышла на мировой уровень. Планкалкюль был признан как пионерская работа лишь в 1970-х, когда его рукопись наконец опубликовали.
В Англии и Америке всё складывалось иначе. Война создала не только технологии, но и институты: исследовательские лаборатории, щедро финансируемые правительством, системы грантов, культуру сотрудничества между университетами и военными. Морис Уилкс работал в Кембридже, где в 1949 году был построен EDSAC — один из первых компьютеров с хранимой программой. IBM, корпоративный гигант, основанный в 1911 году на продаже табуляторов, почувствовала коммерческий потенциал вычислительных машин и вложила в них ресурсы, которых не было ни у одного университета.
К 1953 году стало ясно: компьютеры — не временное военное увлечение. Они пришли навсегда. Вопрос был не «будут ли компьютеры», а «кто будет ими пользоваться».
Значение для UX
Три события — Планкалкюль, микрокод, IBM 650 — кажутся чисто инженерными. Языки программирования, архитектура процессоров, серийное производство — что здесь от пользовательского опыта? Всё.
Планкалкюль Цузе — это первая попытка создать промежуточный язык между человеком и машиной. До него программист должен был думать как машина: в терминах адресов памяти и двоичных кодов. Планкалкюль предложил думать как человек: в терминах переменных, условий и повторений. Это тот же принцип, который через полвека будет двигать всю эволюцию интерфейсов — от командной строки к графическому интерфейсу, от SQL к визуальному конструктору запросов, от кода к no-code платформам. Каждый шаг — это попытка сократить расстояние между тем, как думает человек, и тем, как работает машина. Цузе сделал первый шаг.
Микрокод Уилкса задал принцип, без которого невозможен современный UX: абстракция скрывает сложность. Пользователь смартфона не знает, как работает процессор, — и ему не нужно знать. Между его пальцем на экране и транзисторами в чипе — десятки слоёв абстракции: операционная система, фреймворк, API, драйверы, микрокод. Каждый слой прячет сложность предыдущего и предлагает следующему уровню простой интерфейс. Уилкс изобрёл не просто микрокод — он изобрёл саму идею того, что сложную систему можно сделать управляемой, разделив её на уровни. Современные дизайнеры, скрывающие технические детали за простым интерфейсом, наследуют этот принцип — даже если никогда не слышали имя Уилкса.
IBM 650 — это момент рождения пользователя. Пока компьютеры строились в единственном экземпляре для военных лабораторий, проблемы юзабилити не существовало. Создатель машины был её единственным пользователем; он знал каждый провод и каждый переключатель. Когда IBM произвела 2000 одинаковых машин и поставила их в университеты и корпорации, появились люди, которые не строили компьютер, а пришли к нему работать. Студент, впервые севший за IBM 650, не знал, как устроен процессор. Ему нужна была инструкция. Документация. Обучение. Интерфейс.
Именно массовость создаёт потребность в UX. Пока продукт уникален — он может быть сколь угодно сложным: его создатель справится. Когда продукт становится серийным — появляется разрыв между создателем и пользователем. Этот разрыв и есть пространство, в котором рождается проектирование пользовательского опыта.
IBM 650 учит ещё одному: компьютер, который удалось продать в 40 раз больше запланированного (2000 вместо 50), победил не вычислительной мощностью — он победил доступностью. Он был «достаточно хорош» по техническим параметрам — и значительно лучше конкурентов по тому, что мы сегодня назвали бы юзабилити: простота установки, надёжность, поддержка, обучение. IBM с самого начала понимала то, что многие технологические компании не могут понять до сих пор: побеждает не самая мощная машина, а самая удобная.
Связанные статьи
Послевоенные компьютеры связаны с множеством тем из мира UX и истории технологий:
- Что такое User Experience — массовое распространение компьютеров в 1950-х создало саму категорию «пользователя» — человека, который не создаёт технологию, а взаимодействует с ней. Это отправная точка всего UX.
- Что такое юзабилити — IBM 650 показал, что коммерческий успех определяется не мощностью, а простотой освоения. Первый промышленный аргумент в пользу юзабилити.
- Закон Хика — принцип абстракции (микрокод Уилкса) уменьшает количество решений, которые должен принимать пользователь на каждом уровне взаимодействия.
- Закон Миллера — слои абстракции работают как чанкинг: каждый уровень скрывает детали предыдущего, позволяя удерживать в рабочей памяти только то, что нужно на текущем шаге.
Из других статей серии «История UX»:
- Эффект Зейгарник (1927) — психологические открытия того же десятилетия, которые работали параллельно с инженерными: пока Цузе строил компьютеры, психологи описывали механизмы внимания и памяти, которые позже определят принципы проектирования интерфейсов.
- Открытия 1930-х: Халл, Мэйо, фон Ресторфф, Гэллап (1932–1936) — десятилетие между психологическими открытиями 1930-х и послевоенными компьютерами 1950-х: наука о человеке и наука о машинах развивались параллельно и встретились только в 1960-х.
- RAND Corporation — системный анализ и метод Дельфи (1948–1950) — параллельная история: пока IBM строила коммерческие компьютеры, RAND Corporation изобретала системное мышление, которое позже станет основой проектирования сложных систем.