На вопрос, кто раньше всех построил электронный компьютер, ответ дал судебный процесс, состоявшийся в 1973 году, – «Атанасов против Эккерта и Мочли», хотя, по сути, его стоило бы называть Honeywell против Sperry Rand. Он закончился в пользу Атанасова, а Эккерта и Мочли лишили патента, после чего первым компьютером формально оказалось устройство ABC (Atanasoff–Berry Computer), спроектированное Атанасовым вместе с Клиффордом Берри. Однако это судебное решение вызывает внутренний протест, поскольку даже при самом поверхностном знакомстве с делом становится ясно, что разбирательство было стимулировано поборниками свободы компьютерной индустрии от патентных ограничений.
Какими бы аргументами ни старались доказать первенство Атанасова и Берри, элементарная логика отказывает признать именно их детище предком современных компьютеров – ABC имеет к нынешним компьютерам примерно такое же отношение, как неандерталец к современному человеку. ABC есть не что иное, как параллельная ветвь эволюции, закончившая свое существование, факт в истории, и не более. Лично Джон Атанасов ни в чем дурном не замечен, он никогда прежде не претендовал на первенство, более того, как добросовестный ученый, сам признал, что математической основой вычислительного устройства ABC стали идеи, почерпнутые у отечественного математика Михаила Филипповича Кравчука (1892-1942), погибшего в ГУЛАГе. Атанасов просто перевел с русского его двухтомный труд и прислал благодарственное письмо, но к тому моменту, когда оно пришло, высокочтимый им ученый уже был на Колыме. Память о Кравчуке сейчас восстанавливается, теперь стало известно, что он автор почти 200 научных работ, но, пожалуй, самым весомым свидетельством заслуг Кравчука может служить его научная школа. В числе его учеников основоположники ракетной техники Сергей Королев и Владимир Челомей, а также конструктор авиационных двигателей Архип Люлька. Возможно, имеет право на жизнь гипотеза о существовании еще не выявленной связи между научным наследием Кравчука, работавшего на Украине, и первым советским компьютером МЭСМ, который был создан под руководством Сергея Лебедева в послевоенном Киеве, а не в главных научных центрах Москвы или Ленинграда, что было бы естественнее.
Удивительно, но вопрос относительно первой в современном смысле программы разрешается гораздо проще – кто и когда ее написал, не вызывает сомнения. Том Килбурн – автор самой первой программы, один из разработчиков машины SSEM (Small Scale Experimental Machine), которую еще называли The Baby (1948). Манчестерский «Бэби» был первым программируемым компьютером, поэтому вполне естественно, для него и была написана первая программа. Справедливости ради, следует заметить присутствие в названии слова «экспериментальный», так оно и было: SSEM использовалась как стенд для оценки возможности применения электронно-лучевых трубок в качестве памяти, а настоящим, первым полноценным программируемым компьютером оказался английский EDSAC (1949). Дэвид Уилер не только написал для EDSAC первые программы, но и был основным автором первого учебника по программированию.
Главные события компьютерной истории развернулись за океаном, но англичанам не случайно удалось на пару лет опередить американцев в создании программируемых компьютеров – именно здесь имелась необходимая база из электронных компонентов, теоретических наработок и практического опыта создания специализированного компьютера Colossus, использованного для расшифровки вражеских радиограмм. Теоретическими предпосылками англичане обязаны Алану Тьюрингу, и не следует забывать, что самая передовая на тот момент электроника создавалась для радиолокации, а радар, как известно, был изобретен в начале прошлого века в Англии, и именно англичане были пионерами в радиолокационной технике для обнаружения летящих целей.
База была, к тому же по окончании Второй мировой войны Великобритания странным образом стремилась забыть военное прошлое: по необъяснимой причине уничтожили и засекретили Colossus, закрыли различные учреждения, созданные для решения актуальных в военное время задач, следствием всего этого стала массовая миграция специалистов из оборонной сферы в университеты. Наиболее продвинутые ученые сконцентрировались в нескольких граждански центрах по разработке компьютеров, прежде всего в лабораториях при Манчестерском и Кембриджском университетах – эти две группы и стали лидерами. Кроме этого, в Национальной физической лаборатории, в Бирбекском колледже в Лондоне и еще в нескольких учебных заведениях развернулись работы по компьютерной тематике.
Компьютеры из Манчестера
В период с 1946-го по 1948 год в Манчес-терский университет пришли несколько выдающихся персонажей, в итоге здесь собралась ударная команда, включавшая основного разработчика Colossus Макса Ньюмана, его коллегу-математика Джека Гуда, а также Фредди Уильямса и Тома Килбурна – двух инженеров, ранее разрабатывавших радары, они-то и стали основными создателями SSEM. На последней фазе к ним присоединился Алан Тьюринг. Радарное прошлое Уильямса и Килбурна привело к выбору к качестве главного компонента SSEM иконоскопа?– электронно-лучевой трубки, изобретенной в 1923 году русским инженером Владимиром Зворыкиным (1888-1982). Не исключено, что раньше них идею использования трубки в качестве запоминающего устройства выдвинул Преспер Эккерт, есть мнение, что Уильямс встречался с ним в 1946 году на лекциях в США. Как бы то ни было, но в конце того же года Уильямс подал патентную заявку, где изложил принцип запоминающего устройства на ЭЛТ, поэтому иногда такие устройства называют «трубками Уильямса».
Принцип действия трубки в качестве памяти достаточно прост. Электронный луч, сканируя поверхность экрана, не только вызывает вспышки тех точек, куда подается заряд, но и оставляет их заряженными на 0,2 секунды. Это явление можно использовать как для формирования изображения, так и для хранения данных, если непрерывно регенерировать изображение, считывать состояние точек и производить в них запись. Реальная процедура сложнее, запись ведется в форме точек и тире, учитывая, что считывающий луч нарушает запись, ее необходимо восстанавливать и т.д. Все это преодолимые препятствия, но общей слабостью любых запоминающих устройств на ЭЛТ остается органически присущие им ошибки, из-за особенностей фосфорного покрытия иногда биты теряются, но реальной альтернативы им не было, и трубки применялась в качестве запоминающих устройств для ЭВМ вплоть до конца 50-х годов, когда индустрия перешла на ферритовую память. Трубки в качестве запоминающих устройств использовал и Джон фон Нейман в своем компьютере IAS (1952), они применялись в серийных машинах, например в «оборонном калькуляторе» IBM 701 и его гражданских аналогах IBM 702 и IBM 650, в первом серийном отечественном мэйнфрейме «Стрела» (1953).
На принципах, проверенных в SSEM, было построено несколько выдающихся компьютеров первого поколения. Выше представлена блок-схема этой машины, и несложно заметить, что она заметно отличается от архитектуры фон Неймана – простота объясняется решаемой целью, ведь это не прибор для расчетов, а стенд для проверки гипотезы.
Память «Бэби» состояла из 32 слов по 32 бит (матрица на экране), то есть ее емкость была равна 1 Кбайт, и предназначалась она для хранения команд, данных и результатов. Кроме ЭЛТ в логике машины использовались 300 диодов и 280 пентодов. Весогабаритные параметры этого «Бэби», как у небольшого грузовика: длина более 5 м, высота более 2 м, вес около тонны. Количество команд – 7: безусловный переход, несколько команд управления регистрами, вычитание и остановка, а формат команды близок к одноадресному.
Первая программа насчитывала 17 команд, и ее написал Килбурн весной 1948 года, а выполнена она была впервые 21 июня того же года. Этот день можно считать днем рождения программирования. Программа находила наибольший делитель для числа 218 (262 144) перебором, вычитая по 1 от 218?1 и далее. Деление выполнялось повторением вычитания. За 52 минуты SSEM выполнила 3,5 млн операций и получила очевидный ответ – 13 1072. Программа использовала 8 слов в качестве рабочей памяти, то есть всего потребовалось 25 слов. Усовершенствования в первую программу вносили Джем Тутилл и Алан Тьюринг. Никаких листингов в отсутствие печатающих устройств быть не могло, единственный оставшийся документ – листок из записной книжки Тутилла. Экран трубки был открыт, и можно было наблюдать за изменением состояния видимой на экране матрицы. Фредди Уильямс записал позже: «Когда мы увидели, как прекратилось бешеное мигание и на экране остался ожидаемый результат, пришло осознание значения сделанного, впереди просматривалось большое будущее». Оно действительно не заставило себя ждать – уже в августе начались работы по созданию второй экспериментальной машины Manchester Mark 1, которая была сделана в рекордно короткий срок – с августа 1948-го по апрель 1949 года. В 1998 году торжественно отмечалось пятидесятилетие SSEM, к этой дате была построена ее работающая копия, которая сейчас находится в манчестерском Музее науки и промышленности.
Машина Manchester Mark 1, или Manchester Automatic Digital Machine (MADM), в июне 1949 года без сбоев проработала 9 часов, выполняя программу поиска наибольшего обнаруживаемого числа в последовательности простых чисел Мерсенна. Несмотря на очевидные ограничения, этот компьютер стал поводом для многочисленных спекуляций о возможностях электронного мозга и всякого рода аналогичных заблуждений. С практической же точки зрения существенно то, что MADM стала прототипом для Ferranti Mark 1 (1951). Этот компьютер иногда называют первым коммерческим универсальным, что спорно, поскольку Мочли и Эккерт, перейдя в Remington Rand, в том же году выпустили UNIVAC 1, который стал по-настоящему серийным изделием и был выпущен в количестве 40 экземпляров. Влияние Manchester Mark 1 обнаруживается и в компьютерах IBM 701 и 702, эта корпорация в массовом количестве производила электромеханические табуляторы на перфокартах и с небольшим опозданием включилась в гонку за создание мэйнфреймов первого поколения.
Уильямс и Килбурн совместно разработали еще один компьютер – Meg, в составе которого появился процессор для выполнения операций над числами в формате с плавающей запятой. После него Уильямс потерял интерес к компьютерам и занялся разработкой автоматических трансмиссий для автомобилей, одна из их версий была установлена в его собственной машине. Килбурн продолжил начатое дело, и под его руководством были построены еще две экспериментальные модели – Muse и MU5, ставшие прототипами для серийных Ferranti Atlas и ICL 2900.
Кембридж и EDSAC
Часто первым компьютером с хранимой программой называют EDSAC (Electronic Delay Storage Automatic Calculator – «автоматический электронный калькулятор с памятью на линиях задержки»). Это утверждение не лишено смысла, но с уточнением – это хронологически первый компьютер, построенный по схеме фон Неймана. Он был построен на три месяца раньше, чем EDVAC, с которого фон Нейман «списал» схему, получившую его имя. В 1945 году он вместе с Германом Гольдшейном, невзирая на других авторов, выпустил документ First Draft of a Report on the EDVAC, в котором описал принцип действия компьютера с памятью, способной хранить программы и данные. Поступок, прямо скажем, сомнительного свойства, но свое действие он возымел: экземпляры документа попали в несколько лабораторий в разных странах, и их использовали непосредственно как руководство для создания компьютеров. В отличие от большинства своих «сводных братьев» EDVAC отличался добросовестностью конструкции, он мог работать по 20 часов в сутки и прожил вплоть до 1961 года, претерпел ряд модернизаций, был доукомплектован магнитным барабаном и процессором вещественной арифметики.
И все же EDVAC был вторым, а первым в мае 1949 года заработал EDSAC, и с него пошла волна создания аналогичных систем, начавшаяся с австралийского компьютера CSIRAC (ноябрь 1949 года). Тем временем Джон фон Нейман продолжил популяризацию своих и чужих идей, работая в Институте перспективных исследований (Institute for Advanced Study, IAS), где под его руководством вышла книга «Предварительные исследования по логическому проектированию электронных счетных инструментов». Описанная в ней архитектура получила название IAS – так было положено начало Open Source. Для создания компьютеров хватало общераспространенных тогда радиодеталей, поэтому для многих университетов и лабораторий открывалась возможность собирать их собственными силами. По архитектуре IAS было построено почти два десятка машин: JOHNNIAC (корпорация Rand), ILLIAC I (Университет штата Иллинойс), MANIAC I (Национальная лаборатория в Лос-Аламосе). Строили такие машины в Швеции (BESK, Стокгольмский университет) и в Израиле (WEIZAC, Институт Вейцмана). В ряд IAS-подобных машин попадает и отечественная БЭСМ.
Создание EDSAC прочно ассоциируется с именем Мориса Уилкса. Сегодня ему 96 лет, и, вероятно, он старейший из ныне живущих компьютерных патриархов. Уилкс начинал с работы на механическом дифференциальном анализаторе в 1937 году и долгое время оставался единственным сотрудником Математической лаборатории Кембриджского университета. В мае 1946 года ему попал в руки привезенный от фон Неймана отчет по EDVAC, увлекший его настолько, что в отсутствие копировальных машин он переписал его от руки. Затем ему удалось посетить Муровскую школу при Пенсильванском университете, где создавался EDVAC, и прослушать там цикл лекций. В отличие от Мочли и Эккерта, Уилкс умудрялся использовать доступные ему средства, и это оказалось неплохим решением – он смог обогнать своих учителей. Его бюджет был намного меньше, и он не мог позволить себе исследования в поисках новых решений для памяти и электронных компонентов. Используемые в SSEM трубки были ему недоступны, поэтому Уилкс остановил свой выбор на ртутных акустических линях задержки, кроме того, аналогичная система была использована в EDVAC. Мысль об использовании линий задержки в памяти, или, иначе, ультразвуковой памяти, принадлежит Эккерту, а оттуда она перешла в UNIVAC 1. До этого линии задержки применялись в радарах для фильтрации помех и выделения движущих объектов. Если входной сигнал задержать и подать на экран позже и с обратной полярностью, то можно подавить статические изображения. Есть несколько решений для этой технологии, и наибольшее распространение получили ртутные линии с пьезокристаллическим преобразователем, состоящим из излучателя и приемника. В линиях задержки использовали еще металлическую проволоку c магнитострикционными преобразователями. Такие преобразователи вызывали в проволоке механические колебания, аналогичные звуковым. Проволочные магнитострикционные линии задержки прожили дольше, чем ртутные, они существенно проще во всех отношениях, например, их устанавливали в электронные клавишные вычислительные машины «Электроника-155». В ртутной линии передатчик посылал импульс в среду, возникали ультразвуковые колебания ртути, приемник их считывал и с задержкой восстанавливал полученный импульс. В приложении к компьютеру Эккерт прибавил к обычной линии повторитель, возвращающий сигнал на вход. В отличие от радаров, в линиях, предназначенных для памяти, передается последовательность сигналов, условно говоря слово, и, чтобы выделить нужный бит, требуются соответствующие синхроимпульсы. Скорость работы и емкость акустического запоминающего устройства взаимосвязаны, они зависят от свойств среды и длины трубки – в ртути скорость звука почти на порядок выше, чем в воздухе, поэтому и выбрали ее в качестве среды. Память EDSAC имела 512 слов длиной по 35 бит, для этого достаточно иметь 32 линии задержки, каждая из которых хранит по 576 бит (36-й бит в слове использовался как служебный).
Отличительной особенностью проектирования ЭВМ, подобных EDSAC, было то, что основные усилия создателей были сосредоточены не на логике или архитектуре, а на преодолении физических проблем, связанных с несовершенством элементной базы. Не меньшую сложность создали примитивные и медленные устройства ввода и вывода. Уилксу все эти барьеры удалось преодолеть, и в итоге получилась довольно складная машина, на разработку которой ушел примерно миллион современных долларов, что совсем немного, если учесть неподготовленность инфраструктуры. EDSAC совершенствовался в процессе своего существования, причем иногда довольно неожиданно. Например, оказалось, что в исходной системе команд не было безусловного перехода.
Проект EDSAC не был бы так успешен, если бы в нем не принял участие Дэвид Уилер, человек, которого можно вполне заслуженно назвать первым профессиональным программистом. Свою знаменитую книгу (1951), первый в истории учебник по программированию «Подготовка программ для электронного цифрового компьютера» (The Preparation of Programs for an Electronic Digital Computer), он написал в соавторстве с Морисом Уилксом и Стэнли Джилом. Уилер всю жизнь, за исключением нескольких лет преподавания в Университете штата Иллинойс и Калифорнийском университете в Беркли, проработал в Кембриджском университете. Начал он с того, что заменил двоичную запись команд символической и назвал эту форму «инициалами команд» (initial orders), его язык был прообразом будущих языков ассемблера, где инициалы обозначали коды команд, идентификаторы служили символическими адресами, и имелась процедура трансляции. И еще одно очень, казалось бы, простое изобретение – Wheeler Jump, то есть прыжок Уилера, представляющий собой вызов подпрограммы, существующей в виде отдельной функции с параметрами или без.
Уилеру принадлежит несколько популярных афоризмов, самый известный из них: «Любая проблема в компьютерной науке может быть решена путем перехода на следующий уровень абстракции. Однако при этом создаются новые проблемы». В то время когда Уилер писал эти слова, в основном имелась в виду косвенная адресация, сегодня их вполне можно отнести и к виртуализации.
Наследники Дифференциальной и Аналитической машины Бэббиджа
Третий известный британский проект – Automatic Computing Engine (ACE), которым поначалу руководил Тьюринг. Использование в названии слова Engine – дань памяти дифференциальной и аналитической машинам Чарьза Бэббиджа. Теоретической предпосылкой к проекту, осуществлявшемуся в математическом отделении Национальной физической лаборатории была работа Тьюринга Proposed Electronic Calculator (1936). Свой проект он предложил к обсуждению в начале 1946 года, а первая фаза проекта проходила в обстановке повышенной секретности, сохранившейся со времен Colossus, поэтому она в основном носила теоретический характер. Более того, до работы на ACE не допустили Томми Фоулера, основного разработчика Colossus, который имел опыт создания электронно-механического устройства большой сложности. Поэтому группе Тьюринга не хватило практической экспертизы, и решили ограничиться усеченной (пилотной) версией Pilot ACE. Этот компьютер заработал в мае 1950 года. Непосредственными преемниками Pilot ACE стали компактный компьютер G-15 от Bendix Corporation, его иногда называют первым ПК, и серия из 30 компьютеров DEUCE (Digital Electronic Universal Computing Engine) компании English Electric. Ни та, ни другая больше компьютерами не занимались.
Первые программисты Страны Советов
Порой кажется, что утверждение «история не имеет сослагательного наклонения» придумали для оправдания. По крайней мере, если бы тем, кто создавал первые образцы вычислительной техники и программ, дали возможность нормально работать, страна, возможно, бы не оказалась в нынешнем положении.
Первые шаги в программировании на территории бывшего СССР были сделаны в Киеве и Москве, где почти синхронно и независимо друг от друга создавались машины МЭСМ и М-1. Последующая затем эволюция этих двух школ проектирования ЭВМ удивительно точно отражает личные особенности двух выдающихся ученых: Сергея Лебедева и Исаака Брука. Неоднократно отмечалась в отдельных случаях буквально мистическая схожесть их судеб, не признать ее нельзя, но и противоположностей в их жизненных путях тоже немало. Лебедев был в большей степени органичен по отношению к системе советской науки и получал поддержку со стороны властей и Академии, в 1945 году он был избран в АН Украины, а в 1953-м стал действительным членом АН СССР. В 1950 году его пригласили в Москву в Институт точной механики и вычислительной техники (ИТМиВТ), деятельности которого Лебедев придал новый импульс. Напротив, Брук плохо вписывался в систему, хотя и раньше Лебедева обрел академические регалии, ученая степень кандидата технических наук была присвоена ему без защиты диссертации еще в мае 1936 года, а в октябре того же года он защитил докторскую диссертацию. В 1939 году в возрасте 37 лет Брук выступил на заседании президиума Академии наук с докладом о созданном им в Энергетическом институте АН СССР электромеханическом интеграторе, позволявшем решать дифференциальные уравнения до шестого порядка, за что его избрали членом-корреспондентом АН СССР. Во время Великой Отечественной войны Брук предложил синхронизатор, позволяющий авиационной пушке стрелять через вращающийся винт самолета, так он стал действительным членом Академии артиллерийских наук. В 50-е годы им был создан Институт электронных управляющих машин (ИНЭУМ), и, казалось бы, впереди звание академика. Однако интересы ученого вышли за технические рамки, и, основываясь на результатах нобелевских лауреатов Леонида Канторовича и Василия Леонтьева, Брук опрометчиво открыл в ИНЭУМе направление, связанное с применением математических методов и вычислительной техники для решения экономических задач на государственном уровне, итогом чего стал его вынужденный уход в 1964 году с поста директора.
От макетной до малой счетной машины
МЭСМ, как и британская SSEM, задумывалась как макет, поэтому изначально называлась Модельная Электронная Счетная Машина. Но в отличие от SSEM макет оказался вполне работоспособным, и написанные для него первые в отечественной истории программы почти с самого начала имели прикладное значение. Машина была собрана под руководством Лебедева в специально созданной для этой цели лаборатории, располагавшейся в двухэтажном здании (некоторое время там была психиатрическая лечебница) на территории Свято-Пантелеймоновского монастыря. Сегодня вряд ли можно с достаточной достоверностью сказать, почему именно в Киеве была построена первая советская ЭВМ и почему до 1956 года, до того как их возглавил Виктор Глушков, работы в этом направлении прекратились и были переданы в Москву. Однако есть информация к размышлению. Вот выдержка из газетного варианта доклада, сделанного А.Г. Марчуком, директором Института систем информатики СО РАН имени А.П. Ершова, «Роль М.А. Лаврентьева в становлении отечественной техники»: «Возможно, к окончательному решению заняться разработкой цифровой ЭВМ С.А. Лебедева подтолкнул М.А. Лаврентьев. Такое мнение высказывали Глушков, Крейн (запрограммировавший совместно с С.А. Авраменко первую задачу для МЭСМ) и О.А. Богомолец. Последний в 1946-1948 годах несколько раз бывал в Швейцарии и, будучи заядлым радиолюбителем, собирал проспекты и журналы с сообщениями о цифровых вычислительных устройствах. Приехав в Киев летом 1948 года, он показал журналы Лаврентьеву, а тот – Лебедеву... Интрига заключается в том, что Швейцария после войны арендовала третий вариант компьютера известного немецкого пионера вычислительной техники Конрада Цузе. Это наводит на мысль, что передаваемые С.А. Лебедеву материалы могли содержать не только рекламную информацию об английских и американских компьютерах, но и более содержательную, о немецкой Z-4... Слабым подтверждением этой гипотезы является то, что, по утверждению А.Н. Томилина, ближайший ученик Лебедева, академик В.А. Мельников, в восьмидесятые годы активно интересовался творчеством Цузе».
Может сложиться впечатление, что создание машины – это чуть ли не личная инициатива Лаврентьева, Лебедева и Богомольца, и если бы это случилось не в СССР, то можно было бы этому поверить, но на Украине и в условиях послевоенной разрухи? Что здесь не так и чего стоит упоминание визитов Олега Богомольца, сына Александра Богомольца, президента Академии наук Украины до 1946 года, в Швейцарию? Нетрудно догадаться, кто и зачем в те времена ездил в Швейцарию. И какие журналы и проспекты можно было купить в послевоенные годы, да и вообще, о какой рекламе компьютеров можно говорить? Есть документ «Протокол №1 заседания закрытого ученого совета Института электротехники и теплоэнергетики АН УССР от 8 января 1951». На этом заседании, представляя МЭСМ, Лебедев сказал: «Я имею данные по 18 машинам, разработанным американцами, эти данные носят характер рекламы, без каких-либо сведений о том, как машины устроены. В вопросе постройки счетных машин мы должны догонять заграницу, и должны это сделать быстро. По данным заграничной литературы, проектирование и постройка машины ведется 5-10 лет, мы хотим осуществить постройку машины за 2 года».
Начав в октябре 1948-го с нуля, коллективу Лебедева удалось через три года, 6 ноября 1950 года, осуществить пробный запуск машины. На МЭСМ работали программы вычисления суммы нечетного ряда факториала числа и возведения в степень. Пуск МЭСМ в эксплуатацию был осуществлен 25 декабря того же года. На этот раз на машине решались реальные задачи вычисления функций распределения вероятностей. Дата запуска МЭСМ регламентировалась специальным постановлением правительства, все работы осуществлялись в обстановке строгой секретности. 12 января 1952 года началось выполнение заказов по расчетам. Осенью 1952-го на МЭСМ были выполнены расчеты генераторов Куйбышевской ГЭС.
Первые программы для МЭСМ были написаны С.Г. Крейном и С.А. Авраменко, ни тот, ни другой впоследствии не связали свою профессиональную деятельность с программированием. Крейн стал профессором Воронежского государственного университета, заместителем директора по научной работе НИИ математики при этом университете, и вместе с коллегами М.А. Красносельским и В.И. Соболевым создал воронежскую школу функционального анализа. О дальнейшей судьбе Авраменко известно меньше, есть лишь воспоминания о том, что он был начальником Математического сектора в КБ-11 (Арзамас-16, ныне Саров).
Лев Дашевский и Екатерина Шкабара, основные помощники Лебедева, в своей книге «Как это начиналось» вспоминают: «Первая пробная задача была выбрана из области баллистики с весьма существенными упрощениями (не учитывалось сопротивление воздуха). Программа была составлена работавшими с нами математиками С.Г. Крейном и С.А. Авраменко. При этом контрольный расчет был выполнен ими непосредственно в двоичной системе, что обеспечило возможность проверки машины по циклам и по тактам, наблюдая по сигнализации пульта управления за правильностью выполнения программы». Вскоре после этого на МЭСМ решали задачи из области термоядерных процессов, космических полетов, ракетной техники и др.
Родом с Калужской заставы
В начале 1947 года произошло событие, имевшее серьезные последствия. Академик Аксель Берг, в ту пору директор Центрального научно-исследовательского института радиолокации (ЦНИИ-108), свел вместе Исаака Брука и своего сотрудника Башира Рамеева, которых объединял общий интерес к созданию собственного аналога машины ENIAC Мочли и Эккерта. По одним легендам, Рамеев узнал о компьютере, слушая радио BBC, по другим – Брук, будучи артиллерийским академиком, знал о том, что американцы построили машину для расчета таблиц для стрельб, но, как бы то ни было, Рамеев перешел из ЦНИИ-108 в ЭНИН (Лабораторию электросистем Энергетического института АН СССР), руководимую Бруком. Лаборатория находилась в двух расположенных друг напротив друга жилых домах по Большой Калужской, позже переименованной в Ленинский проспект. За несколько месяцев Брук и Рамеев разработали проект цифровой электронной вычислительной машины без хранимой в памяти программы и в декабре 1948 года послали заявку на изобретение «Автоматическая цифровая машина» и получили авторское свидетельство. Постановление президиума АН СССР о разработке М-1 было принято в апреле 1950 года, а уже в январе 1952 года (менее чем через месяц после сдачи МЭСМ) началась ее практическая эксплуатация.
Летом 1952 года началась комплексная отладка машины, включавшая в себя выполнение арифметических и логических операций по программе, в автоматическом режиме. Разработчик устройства ввода/вывода Александр Залкинд написал самые первые программы для М-1. Одной из них было решение уравнения параболы, задача примечательна тем, что в процессе ее решения получались одинаковые значения для оси Y как для положительного, так и для отрицательного значений X. Сравнивая симметричные значения результатов, можно было определить правильность работы машины. Второй программой было решение уравнения у=1/х. По воспоминаниям Залкинда, одним из первых больших ученых, проявивших интерес к М-1, был академик Сергей Соболев, руководивший математическим обеспечением атомного проекта. Для решения одной из задач требовалось провести обращение матриц большой размерности, что и было выполнено на М-1, собранной почти из тысячи электронных ламп-пентодов. Сотрудничеству Соболева с создателями следующей модели М-2 помешал эпизод, случившийся на выборах в действительные члены АН СССР по Отделению физико-математических наук (как тут не вспомнить параллельность судеб). На одно место претендовали Лебедев и Брук, решающим стал голос Соболева, отданный им за первого из двух кандидатов. После этого Брук отказался предоставить МГУ, где работал Соболев, машину М-2, созданную в ЭНИН. Тогда Соболев принял решение разработать ЭВМ силами сотрудников университета, в конечном итоге это привело к тому, что Николай Брусенцов создал машину «Сетунь» с трехзначной логикой.
Выходцы из ЭНИН стали основателями нескольких известных предприятий. Рамеев перешел под начало Юрия Базилевского в Специальное конструкторское бюро № 245 при московском заводе САМ для участия в разработке ЭВМ «Стрела», а через несколько лет на базе СКБ-245 был создан НИИ электронных машин (НИЭМ). Группа в составе Николая Матюхина, Александра Залкинда и еще нескольких сотрудников перешла в НИИ-101 (НИИ автоматической аппаратуры Минрадиопрома), чтобы разрабатывать системы управления ПВО.
Первое поколение, первые шаги
Забытые компьютеры первого поколения были намного ближе к современности, чем это можно предположить.
Colossus, победивший Lorenz
В первой половине XX века было выпущено невероятное множество типов самых разнообразных механических шифраторов. Их производили в СССР, Японии, США, Великобритании и в ряде других стран.