Читаем Инноваторы. Как несколько гениев, хакеров и гиков совершили цифровую революцию полностью

Среди методов программирования, которые Хоппер в Гарварде довела до совершенства, было создание подпрограмм — частей программы, предназначенных для выполнения конкретных задач. Подпрограммы загружаются один раз, но их можно вызывать всякий раз, когда это необходимо, — в любой момент выполнения основной программы. «Подпрограмма — это четко определенная, удобно закодированная, часто повторяемая программа, — писала она. — В компьютере Mark I / Harvard имелись подпрограммы для вычисления sin х, log10 х, и 10x, каждая из которых могла вызываться одним операционным кодом»[165]. Это была та самая концепция, которую Ада Лавлейс впервые описала в своих «Примечаниях» к статье об аналитической машине. Хоппер собирала библиотеку этих подпрограмм, которая все время пополнялась. В процессе работы над программированием компьютера Mark I она разработала концепцию компилятора — устройства для перевода исходного кода на машинный язык, используемый различными компьютерными процессорами, что в конечном итоге облегчило написание одной и той же программы для множества машин.

Кроме того, ее команда внедрила общепринятые в настоящее время термины bug (в переводе — насекомое), означающий ошибку в программе, и debugging (устранение насекомых), означающий отладку программы. Вторая версия машины — компьютер Mark II /Harvard был установлен в здании, где на окнах не было противомоскитных сеток. Однажды ночью машина вышла из строя, и команда стала искать причину проблемы. Внутри они нашли разбившуюся и застрявшую в одном из электромеханических реле ночную бабочку с размахом крыльев в десять сантиметров. Она была извлечена и приклеена в журнал записей скотчем. Запись гласила: «Панель F (бабочка) в реле. Первая конкретная причина программной ошибки найдена»[166]. С тех пор поиски глюков, то есть отладку программы, называли «поиском багов в машине».

К 1945 году, во многом благодаря Хоппер, компьютер Mark I / Harvard стал самым легко программируемым в мире большим компьютером. Он мог переключаться с одной задачи на другую, просто получив новые инструкции с бумажной перфоленты, и не требовал аппаратной переделки или перепайки кабелей. Тем не менее эта замечательная особенность в значительной степени осталась незамеченной и тогда, и в истории компьютеров, поскольку в компьютере Mark I (и даже в его преемнике, Mark II, построенном в 1947 году) использовались медленные электромеханические реле, а не электронные компоненты, в первую очередь электронные лампы. «К тому времени, когда кто-то что-то узнал о нем, — рассказывала Хоппер о компьютере Mark II, — он уже был малоэффективен, и все переходили на электронику»[167].

Инноваторы в области компьютерных технологий, как и другие первопроходцы, могут оказаться в отстающих, если зациклятся на своих решениях. Те же черты характера, которые делают их изобретательными, например упрямство и умение сконцентрироваться, могут сделать их невосприимчивыми к новым идеям. Стив Джобс был известен своим упрямством и целеустремленностью, но он же поражал и сбивал с толку своих коллег, когда внезапно менял подход, поняв, что теперь необходимо направить мысли в другом направлении. Айкену не хватало гибкости. Он не был достаточно гибким, чтобы в нужный момент исполнить пируэт. Он инстинктивно вел себя как капитан корабля, наделенный единоличной властью, поэтому у его экипажа не было привычки свободно выдвигать новые идеи, как это было в команде Мокли и Эккерта в Пенне (Пенсильванском университете). Кроме того, Айкен ставил на первое место надежность, а не скорость. Поэтому он держался за использование проверенных временем и надежных электромеханических реле даже после того, как инженеры из Пенна и Блетчли-Парка поняли, что будущее за электронными лампами. Его Mark I мог выполнять только около трех операций в секунду, в то время как ENIAC, строившийся в Пенне, мог выполнять за то же время пять тысяч операций.

Когда Айкен поехал в Пенн посмотреть на ENIAC и прослушать лекции, был написан отчет, где об этой встрече сказано: «Айкен был зациклен на своем собственном подходе и, кажется, не понял значения новых электронных машин»[168]. То же самое можно отнести и к Хоппер, посетившей ENIAC в 1945 году. Ей казалось, что Mark I лучше, поскольку его было легче программировать. В ENIAC, сказала она, «вы вставляете разные блоки и по сути конструируете новый компьютер для каждой задачи, а мы привыкли к концепции программирования и управления компьютером с помощью нашей программы»[169]. Для того чтобы перепрограммировать ENIAC, может потребоваться целый день, и это убивало его преимущество в скорости обработки, если только не нужно было все время решать одну и ту же задачу.

Перейти на страницу:

Похожие книги

Адмирал Советского Союза
Адмирал Советского Союза

Николай Герасимович Кузнецов – адмирал Флота Советского Союза, один из тех, кому мы обязаны победой в Великой Отечественной войне. В 1939 г., по личному указанию Сталина, 34-летний Кузнецов был назначен народным комиссаром ВМФ СССР. Во время войны он входил в Ставку Верховного Главнокомандования, оперативно и энергично руководил флотом. За свои выдающиеся заслуги Н.Г. Кузнецов получил высшее воинское звание на флоте и стал Героем Советского Союза.В своей книге Н.Г. Кузнецов рассказывает о своем боевом пути начиная от Гражданской войны в Испании до окончательного разгрома гитлеровской Германии и поражения милитаристской Японии. Оборона Ханко, Либавы, Таллина, Одессы, Севастополя, Москвы, Ленинграда, Сталинграда, крупнейшие операции флотов на Севере, Балтике и Черном море – все это есть в книге легендарного советского адмирала. Кроме того, он вспоминает о своих встречах с высшими государственными, партийными и военными руководителями СССР, рассказывает о методах и стиле работы И.В. Сталина, Г.К. Жукова и многих других известных деятелей своего времени.Воспоминания впервые выходят в полном виде, ранее они никогда не издавались под одной обложкой.

Николай Герасимович Кузнецов

Биографии и Мемуары
100 великих гениев
100 великих гениев

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

Рудольф Константинович Баландин

Биографии и Мемуары
100 великих интриг
100 великих интриг

Нередко политические интриги становятся главными двигателями истории. Заговоры, покушения, провокации, аресты, казни, бунты и военные перевороты – все эти события могут составлять только часть одной, хитро спланированной, интриги, начинавшейся с короткой записки, вовремя произнесенной фразы или многозначительного молчания во время важной беседы царствующих особ и закончившейся грандиозным сломом целой эпохи.Суд над Сократом, заговор Катилины, Цезарь и Клеопатра, интриги Мессалины, мрачная слава Старца Горы, заговор Пацци, Варфоломеевская ночь, убийство Валленштейна, таинственная смерть Людвига Баварского, загадки Нюрнбергского процесса… Об этом и многом другом рассказывает очередная книга серии.

Виктор Николаевич Еремин

Биографии и Мемуары / История / Энциклопедии / Образование и наука / Словари и Энциклопедии