ВЛАДИМИР ГАКОВ, журналист, писатель-фантаст, лектор. Окончил физфак МГУ. Работал в НИИ. С 1984 г. – на творческой работе. В 1990-91 гг. – Associate Professor, Central Michigan University. С 2003 г. преподает в Академии народного хозяйства. Автор 8 книг и более 1000 публикаций
Компьютерный парк юрского периода
Его прообраз задумал испанский монах в ХIV веке
Компьютеры начинались с громоздких электронных вычислительных устройств, которые обозначались с момента своего появления на свет английским словом computer.
Официально компьютерная эра открылась 1 января 1946 года, когда в Пенсильванском университете членам комиссии американского министерства обороны был представлен первый электронный компьютер ENIAC (Electronic Numerical Integrator and Computer). Занимавшая целый зал тридцатитонная махина была детищем Джона Моучли (1907-1980) и Джона Преспера Эккерта (1919-1995), выполнивших заказ артиллерийского управления, которое остро нуждалось в средствах скоростного расчета таблиц стрельбы и бомбометания.
Первый электронный компьютер ENIAC
Вряд ли кто из присутствовавших на презентации военных чинов, да и ученых, отдавал себе отчет, что на их глазах зарождалась технологическая революция, изменившая облик цивилизации. Однако «первым в истории» компьютером ENIAC может быть назван лишь с оговорками – как и во всех случаях споров о приоритетах.
До потопа (информационного)
В начале XIV столетия в трактате Ars Magna («Великое искусство») испанский монах, поэт, философ и теолог Раймунд Луллий выдвинул идею логической машины, состоявшей из концентрических кругов с нанесенными на них буквенными символами, смысл которых разъяснялся в отдельных таблицах.
Век спустя идея начала приобретать материальные очертания. В 1623 году немецкий астроном Вильгельм Шикард (1592-1635) – друг, коллега и соотечественник великого Кеплера – соорудил замысловатый прибор, названный «часами со счетом». Этот 6-разрядный механизм был способен складывать и вычитать, а с помощью особых счетов на корпусе еще и умножать. Самой остроумной деталью машины был колокольчик, звонивший при «переборе», когда результат превышал «резервы памяти». Для начала XVII века, согласитесь, круто!
Но, как и многим светлым головам, Шикарду не повезло со временем рождения. В ту пору по немецким землям, лоскутным одеялом покрывавшим карту Европы, катком прошлась Тридцатилетняя война, и действующая модель и чертежи Шикарда были утеряны. Нашли их каким-то чудом только в 1935-м, после чего вновь потеряли и окончательно разыскали только спустя четверть века. В 1960 году по чертежам XVII века энтузиасты построили действующую модель.
В 1640-х годах счетной машиной «заболел» великий французский математик, физик и философ Блез Паскаль (1623-1662). Согласно легенде он впервые задумался над этим еще в девятилетнем возрасте, наблюдая за утомительными расчетами отца – сборщика налогов. Результатом размышлений гениального сына стал «паскалин» (Pascalin) – механизм, состоящий из шестеренок и связанных между собой колесиков с цифрами от 0 до 9, с помощью которых можно было складывать семизначные числа. Вычитать же агрегат не умел, да и вообще по многим параметрам уступал более простой системе Шикарда (о ее существовании французский ученый не знал). Тем не менее известность получила именно машина Паскаля.
И наконец в 1673 году (по некоторым источникам – в 1694-м) немецкий математик и философ Готфрид Вильгельм фон Лейбниц (1646-1716) изобрел ступенчатый калькулятор (Rechenmachine), способный производить арифметические действия с 12-значными числами. Возможности машины Лейбница для своего времени были потрясающими, а недостаток единственный – она требовала постоянного присутствия и вмешательства (на каждом этапе расчетов) пользователя. Зато не кто иной, как Лейбниц, первым додумался до двоичной системы изображения чисел!
По чертежам великого ученого парижский мастер Оливье построил действующую модель машины, которую после нескольких лет эксплуатации забросили куда-то на чердак, да там и забыли. Ее случайно обнаружили лишь в 1879 году, когда владельцы дома начали чинить протекавшую крышу.
Между тем уже шесть десятилетий (с 1820 года) успешно использовался арифмометр, который изобрел француз Шарль Ксавьер Тома де Кольмар (1785-1870). Эта машинка, занимавшая весь письменный стол, могла умножать и делить числа и являлась самым надежным калькулятором того времени, фактически первой массовой моделью.
Во втором десятилетии XIX века также увидело свет революционное изобретение соотечественника Кольмара Жозефа Мари Жаккарда (1752-1834) – механический ткацкий станок, способный выполнять заданный узор с помощью специально перфорированных карточек. Иначе говоря, первый «софт»!
Впрочем, если говорить все-таки о счетных машинах, то приоритет в изобретении программного обеспечения принадлежит не французу, а англичанке!
Компьютер на паровом ходу
Первую программистку в истории звали Адой Августой Кинг (1815-1852), в замужестве – графиня Лавлейс. Она была внебрачной дочерью знаменитого поэта Байрона и увлекалась математикой. Более того, долгие годы бескорыстно помогала (деньгами и расчетами) чудаку-изобретателю Чарлзу Бэббиджу (1791-1871), который всем заморочил голову безумным проектом какой-то дифференциальной машины, способной решать сложные математические уравнения.
Принципиальное устройство этого аппарата, обеспечивающего точность вычислений до восьмого знака после запятой, Бэббидж впервые описал в 1822 году, в возрасте 30 лет. А натолкнули его на мысль использовать для расчетов механическое устройство работы французского барона Гаспара де Прони. Во времена Великой французской революции тот получил задание правительства ввести метрическую систему во французский земельный кадастр, а это потребовало новых логарифмических и тригонометрических таблиц в небывалых дотоле объемах. Для их составления барон использовал единственную подручную ему «вычислительную машину» – людские ресурсы. Группа ученых ставила задачу, «среднее звено» следило за работой, а десятки счетчиков вели непосредственные расчеты, причем одни только складывали, другие только умножали...
В 1819 году Бэббидж был в Париже и там услыхал о предприятии де Прони. Познакомившись в местной Академии наук с результатами работы «вычислительной мануфактуры», англичанин решил всего-навсего заменить людей-счетчиков более эффективным механическим устройством. Сначала он построил простой механизм для составления таблиц полиномов – систему валиков и шестеренок, вращаемых с помощью рычага. После чего получил заказ от правительства на более мощное устройство для разработки навигационных таблиц.
Это был грандиозный проект. По замыслу, машина, приводимая в действие паром, должна была занимать целую комнату и производить вычисления с точностью уже до 20-го знака! Спустя десять лет Бэббидж смог построить лишь один из ее блоков, и на этом дело застопорилось.
А теперь – внимание! В середине XIX века Бэббидж внятно описал целый ворох того, что в «железо» воплотили только век спустя – разве что терминологией пользовался подручной, сегодня вызывающей улыбку. Что касается сути, то улыбаться нечего – скорее изумиться. Тут и принцип центрального процессора («мельница»), и ввод программ («инструкций») с помощью перфорированных карт (первые программы «написала» упомянутая графиня Лавлейс), и блок памяти («склад»), и печатающее устройство, роль которого должен был выполнять печатный пресс. Единственное, чего не хватало паровому компьютеру, чтобы с полным правом называться прародителем современных ЭВМ, – это возможности хранения команд (stored-program) в том же ОЗУ, где содержатся исходные данные.
Быстродействие аналитической машины Бэббиджа, будь она построена, тоже вызвало бы у сегодняшнего пользователя улыбку: по замыслу изобретателя, одна операция сложения занимала 3 секунды, а умножения или деления – 2–3 минуты. Впрочем, и это было чистой фантастикой для эпохи, когда самым быстрым средством передачи информации все еще являлась упряжка добрых лошадей.
Машина Бэббиджа, способная, по словам Лавлейс, «ткать математические уравнения так же искусно, как жаккардовый станок – узоры из цветов и листьев», увы, так и осталась только в чертежах. Конец истории с его машиной столь же фантастичен, как и начало.
В 1989-1991 годах группа энтузиастов из Лондонского музея науки, используя современные материалы, но придерживаясь механических допусков, доступных во времена Бэббиджа, построила-таки придуманный им аппарат. И он работал, считая до 31-го знака после запятой!
Впередсмотрящие
Первую деревянную модель дифференциальной машины построили в 1843 году шведы отец и сын Шойтцы. Созданная Шойтцами конструкция успешно справлялась с уравнениями четвертого порядка.Два первых экземпляра машины купили обсерватория Дадли в Олбани, штат Нью-Йорк, и британское правительство. После чего директора обсерватории с треском уволили за экстравагантную покупку, а саму ее отправили пылиться на склад. Вторая же машина долго и надежно обслуживала более прагматичных англичан.
Последнее десятилетие «до потопа» – иначе говоря, до ХХ века, – связано также с именем американца Германа Холлерита (1860-1929), служащего Федерального агентства по переписи населения. На протяжении нескольких лет Холлерит пытался построить электромеханическую машину для оптимизации трудоемкого процесса обработки результатов переписи. И добился своего – в 1890 году такая машина, работавшая с использованием перфокарт, была построена и сразу же прошла боевое крещение. Если обработка результатов переписи населения в 1880 году потребовала семи лет и труда 1500 сотрудников, то изобретение Холлерита позволило его ведомству справиться всего за три года и усилиями 700 человек, заполнивших карточки на 63 миллиона американских граждан.
Результаты оказались настолько многообещающими, что спустя шесть лет Холлерит основал собственную фирму Tabulating Machine Company, главным направлением которой стали производство и продажа специального оборудования для перфорирования карточек. После многочисленных слияний и переименований компания в 1924 году окончательно сменила название на всем известное International Business Machines. Или кратко – IBM. Но это, как писали мои любимые Стругацкие, уже совсем другая история.
В первой половине ХХ века были заложены основы новой науки, название которой пришло позже, – кибернетики.
В 1936 году английский математик Алан Тьюринг (1912-1954) опубликовал статью, в которой доказал, что принципиально возможно создать универсальное цифровое вычислительное устройство, способное решить задачу любой степени сложности («машина Тьюринга»). Тьюринг предложил умозрительную схему – бесконечная бумажная лента с записанными символами и считывающая головка, которая с помощью последовательных запрограммированных операций была способна решить любую формализованную задачу. Чем не прообраз компьютера?
Собственно кибернетика родилась сразу же по окончании войны. Уже в 1946 году Джон Тьюки придумал термин «бит», а годом позже английский ученый Росс Эшби впервые ввел понятие «самоорганизующаяся система». Наконец, в 1948 году вышла революционная книга Норберта Винера (1894-1964) «Кибернетика, или Управление и связь в животном и машине», в которой были сформулированы основные положения новой науки об универсальных законах управления. Название ее было выведено Винером из греческого «кибернетос» – так древние греки называли лоцмана, навигатора, впередсмотрящего.
Роберт Винер в MIT
Динозавры компьютерной эры
Параллельно накоплению теоретического материала разворачивалась увлекательная гонка практиков: кому быть отцом современного компьютера. Однозначного победителя не определили до сих пор – первые модели компьютеров появились на свет почти одновременно в разных странах, а изобретатели часто узнавали о свершениях коллег с запозданием. Одна из основных причин тому – война, и главное следствие ее – тотальная секретность.
Немцы не без оснований считают, что приоритет принадлежит инженеру Конраду Цузе (1910-1995). Еще в 1938 году выпускник Берлинского политехнического института на квартире родителей построил полностью программируемую механическую цифровую машину Z1. Она занимала площадь в 4 квадратных метра, действовала на основе двоичного кода, содержала блок памяти, а программа вводилась с перфорированной кинопленки. Модель была пробной, но через два года Цузе построил первый, как считают многие, электромеханический компьютер Z2.
Хорст Цузе и копия механической цифровой машины Z1
Далее последовал Z3 (1941), состоявший из 2,5 тысяч телефонных реле (в этой машине впервые был реализован принцип программного управления), а в самом конце Второй мировой войны – усовершенствованная модель Z4. Тайно вывезенная из осажденного Берлина, она в разобранном виде пролежала три года в каком-то хлеву, после чего была доставлена в Цюрихскую высшую техническую школу.
У Цузе нашелся конкурент в Америке. За год до создания Z1 Джордж Стибитц (1904-1995) из Bell Telephone Laboratories разработал модель «двоичного сумматора» на телефонных реле. А в октябре 1940 года на заседании Американского математического общества он же продемонстрировал новую релейную (электромеханическую) машину – Complex Number Calculator, также претендующую на право называться первым цифровым компьютером. С помощью телетайпа, расположенного в зале заседаний (дело происходило в штате Нью-Гэмпшир), данные вводились в машину Стибитца, находящуюся в Нью-Йорке. А результаты вычислений передавались по телеграфу и выводились на печать в том же зале.
И только много десятилетий спустя обнаружился еще один американский «папа» ЭВМ – болгарин по происхождению Джон Винсент Атанасов (1903-1995), преподававший физику и математику в университете штата Айова. Атанасов независимо от Цузе совершил революционный переход к двоичной системе и вместе со своим студентом Клиффордом Берри в 1937-1939 годах построил прототип электронного цифрового компьютера ABC (Atanasoff Berry Computer). К 1942 году были созданы еще две ЭВМ, по образу и подобию которых ученый намеревался разработать более мощную машину, способную решать системы линейных алгебраических уравнений. Однако этому помешала война. Профессора призвали в армию, и работа была прервана на этапе отладки устройств ввода/вывода.
Джон Винсент Атанасов
После демобилизации Атанасов узнал о первой демонстрации ENIAC и охладел к компьютерам настолько, что даже не поинтересовался, что из себя представлял аппарат Джона Моучли и Джона Преспера Эккерта.
Вычислительная машина ABC
А их машина между тем была до неприличия похожа на его собственную! В свое время Джон Моучли встречался с Атанасовым и позаимствовал у ABC ряд технических идей, которые и были использованы при создании его «первого компьютера». Однако упоминать об этом Моучли не счел нужным. Ответ на вопрос «Кто раньше?» был дан лишь в 1973 году, в результате судебного разбирательства между компаниями Sperry Rand, выкупившей патент на ENIAC, и Honeywell, которая оспаривала приоритет этого патента. Финальную точку поставил судья окружного суда Миннеаполиса Эрл Ларсон, юридически закрепивший за ABC право называться первым автоматическим цифровым компьютером.
Между прочим, еще в 1940-х годах его создатель безуспешно пытался заинтересовать своими идеями ведущие фирмы по производству механических счетных машин. Среди полученных Атанасовым формальных «отлупов» особый интерес представляет один, заканчивавшийся решительной фразой: «Наша компания никогда не станет осваивать электронный цифровой компьютер в своем производстве». Получен сей ответ был от... фирмы IBM!
К тому времени руководство IBM окончательно склонилось к разработке альтернативного проекта – универсальной релейной цифровой машины, которую предложил Хоуард Эйкен (1900-1973), ничего не знавший о работах Атанасова. И в августе 1944 года электромеханический монстр Harvard Mark I (длиной 15 метров, высотой 2,5 метров и весом 5 тонн), состоявший из 3 миллионов узлов и 500 миль проводов и обошедшийся разработчикам примерно в $1 млн, заступил на трудовую вахту в Гарвардском университете, где проработал более 15 лет.
Электромеханический монстр Harvard Mark I
Эта махина производила операцию сложения менее чем за секунду, умножение совершала за 6 секунд, а деление – в два раза дольше. Сегодня даже элементарный калькулятор даст электронному динозавру сто очков вперед. Но лиха беда начало: компьютеры уже следующего десятилетия заставили скептиков прикусить языки.
Кстати, первые программы для машины Эйкена написала достойная продолжательница дела Ады Лавлейс – математик Грейс Марри Хоппер (1906-1992). Это была женщина во многих отношениях легендарная – автор популярных машинных языков (в частности, COBOL), президент ведущих компьютерных компаний и… контр-адмирал американских ВМС! Есть сведения, что знаменитая героиня научно-фантастического цикла Айзека Азимова о роботах – робопсихолог Сьюзен Келвин – списана с Грейс Хоппер.
Грейс Хоппер, автор машинного языка COBOL
Гиганты и мошки
Справедливости ради стоит отметить, что детище Моучли и Эккерта, создание которого обошлось в $400 тыс., на тот период было самой большой и мощной вычислительной машиной. Электронный гигант весил 30 тонн и состоял из 40 панелей, содержавших 18 тысяч ламп, 1500 реле и 70 тысяч резисторов и конденсаторов. Благодаря впервые примененным электронным триггерам ENIAC по быстродействию на три порядка опережал Mark I. Правда, электричества эта махина съедала также намного больше – 160 киловатт.
Джона Моучли (слева) и Джон Преспер Эккерт
Кроме того, ENIAC страдал частыми сбоями, причины которых стали называть «жучками» (bugs) – термин, придуманный еще наладчиками электронных блоков радаров. Впрочем, «жучками» часто оказывались обыкновенные мотыльки – привлеченные теплом и светом, они заползали внутрь машины, что вызывало короткие замыкания.
Вслед за ENIAC Моучли и Эккерт создали UNIVAC (Universal Automatic Computer) – первую коммерческую ЭВМ и BINAC (Binary Automatic Computer) – первую машину, способную работать в режиме реального времени. А в Великобритании примерно тогда же появилась своя первая «большая» машина ACE (Automatic Computing Engine – «Ас»), и чуть позже сотрудники Манчестерского университета, куда перешел Алан Тьюринг, под его руководством создали машину Manchester Mark I (или MADAME – от Manchester Automatic Digital Machine) с рекордной в то время памятью.
Любопытно, что рвение английских разработчиков подстегнула самая обыкновенная профессиональная ревность к успехам американцев. А также «примкнувшего к ним» выдающегося математика Джона фон Неймана (1903-1957), эмигрировавшего с родителями из Венгрии (где он именовался Янушем Лайошем Нейманом) в США еще в 1930 году и в июне 1945-го разработавшего проект электронного компьютера EDVAC (Electronic Discrete Variable Computer).
В этой машине также имелось революционное новшество. Фон Нейман предложил вводить программу не на бумажной ленте, а с помощью перфокарты – прообраза будущего жесткого диска. Бесконечно далекий от каких бы то ни было коммерческих расчетов, математик опубликовал свои соображения в научном журнале, не потрудившись запатентовать идею, которой затем воспользовались и Моучли с Эккертом при постройке ENIAC. Вот и еще один претендент на право называться первым!
И, наконец, в 1947 году трое сотрудников американской компании Bell Telephone Laboratories – Уильям Шокли, Уолтер Браттейн и Джон Бардин – изобрели транзистор, давший возможность совершить решающий рывок вперед – к современному компьютеру.