когда придумали компьютер в каком году
18 великих изобретений в мире компьютеров и программирования
Недавно у нас с коллегами возникла дискуссия на тему первых компьютеров и программ. В разговоре вспомнились не только знаменитые ученые, такие как Чарльз Бэббидж, но и менее известных вроде Ады Лавлейс. В результате возникла идея провести исследование и составить хронологию развития истории компьютеров и программирования.
В процессе изучения различных источников обнаружилось немало любопытных фактов. Например, тот же Бэббидж технически не является изобретателем компьютера, что первым высокоуровневым языком программирования был вовсе не FORTRAN, а для CRT-мониторов использовались стилусы.
1. Первый компьютер: «Машина различий» (1821 г.)
Предшественник Аналитической машины. «Машина различий» была первой попыткой создания механического компьютера. Разработкой проекта занимался ученый Чарльз Бэббидж. Заручившись поддержкой британского правительства, он начал работать над устройством. Но из-за высокой себестоимости, финансирование было остановлено и компьютер так и не построили.
2. Первый компьютер общего назначения: «Аналитическая машина» (1834 г.)
Чарльз Бэббидж продолжил свою работу и, основываясь на полученном опыте, взялся за разработку механического компьютера. Эта машина предназначалась для автоматизации вычислений путем аппроксимации функций многочленами и вычисления конечных разностей. Благодаря возможности приближенного представления в многочленах логарифмов и тригонометрических функций, «аналитическая машина» могла быть универсальным прибором.
3. Первая Компьютерная программа: алгоритм для вычислений числа Бернулли (1841 — 1842 г.)
Математик Ада Лавлейс начала переводить отчеты своего итальянского коллеги — математика Луиджи Менабреа. Для этого она использовала все ту же аналитическую машину Бэббиджа в 1841. Во время перевода женщина заинтересовалась компьютером и оставила примечания. В одной из заметок содержался алгоритм для вычисления числа Бернулли (последовательность рациональных чисел В1, В 2, В3) аналитической машиной, которая, как полагают эксперты, была самой первой компьютерной программой.
4. Первый работающий компьютер: Z3 Конрада Цузе (1941г.)
Немецкий изобретатель Конрад Цузе стал первым, кому удалось создать работающий компьютер Z3. На основе своих первых двух моделей Z1 и Z2 ученый собрал полноценный электромагнитный программирующий компьютер, созданный на базе электронных реле. Z3 имел двоичную систему исчисления, числа с плавающей запятой, арифметическое устройство с двумя 22-разрядными регистрами, управление через 8 канальные ленты.
Предполагалось, что это будет секретный проект немецкого правительства. По большей части он разрабатывался для Института Исследований в области авиации. Правда самого Цузе мало интересовали интересы военных, ему просто хотелось создать работающую ЭВМ.
Оригинал машины Z3 был разрушен во время бомбежки Берлина в 1943 году.
5. Первая электронно-вычислительная машина: Компьютер Атанасова-Берри (Atanasoff-Berry Computer, ABC, 1942 г.)
Первое цифровое вычислительное устройство без движущихся частей. Компьютер был создан Джоном Винсентом Атанасовым и Клиффордом Берри. ABC использовался для поиска решений под одновременные линейные уравнения. Это был самый первый компьютер, который использовал набор из двух предметов, чтобы представлять данные и электронные выключатели вместо механических. Компьютер, однако, не являлся программируемым. В ABC впервые появились более современные элементы, такие как двоичная арифметика и триггеры. Минусом устройства была его особая специализация и неспособность к изменяемости вычислений из-за отсутствия хранимой программы.
6. Первая программируемая электронно-вычислительная машина: «Колосс» (1943 г.)
Компьютер «Колосс» — секретная разработка времен второй мировой войны. Он был создан Томми Флауэрсом совместно с отделением Макса Ньюмана, с целью предоставления помощи британцам в расшифровке перехваченных нацистских сообщений. Они были зашифрованы шифром Лоренца. Действия были запрограммированы электронными выключателями и штепселями. «Колосс» давал время на расшифровку сообщений от нескольких часов до недель. С помощью компьютера было расшифровано немало фашистских шифровок.
7. Первая программируемая электронно-вычислительная машина общего назначения: ENIAC (1946 г.)
ENIAC (Электронный числовой интегратор и вычислитель) — первый электронный цифровой компьютер общего назначения с возможностью перепрограммирования для решения широкого спектра задач. Финансируемый американской армией, ENIAC был разработан Электротехнической школой Мура в университете Пенсильвании. Его создавала команда ученых во главе с Джоном Преспером Экертом и Джоном Уильямом Мокли. ENIAC достигал в ширину 150 футов и мог быть запрограммирован на выполнение сложных операций. Вычисления производились в десятичной системе, компьютер оперировал числами максимальной длиной в 20 разрядов.
Интересным фактом было то, что на программирование задачи на ENIAC могло уходить несколько дней, зато решение выдавалось в считаные минуты. При перекоммутировании ENIAC «превращался» в практически новый специализированный компьютер для решения специфических задач.
8. Первый трекбол (1946/1952 г.)
Трекбол — указательное устройство ввода информации об относительном перемещении для компьютера. По сути, аналог современной компьютерной мыши. По одной из версий он был разработан Ральфом Бенджамином, когда тот работал над системой мониторинга для низколетающего самолета. Изобретение, которое он описал, включало в себя шар для управления координатами X-Y курсора на экране. Дизайн был запатентован в 1947 году, но не выпускался, потому что проект находился под грифом «секретно».
Также трекбол использовался в системе канадского военно-морского флота DATAR в 1952 году. Этот «шаровой указатель» применил Том Крэнстон.
9. Первый компьютер совместного хранения данных и программ в памяти: SSEM (1948 г.)
Манчестерская малая экспериментальная машина (англ. Manchester Small-Scale Experimental Machine, SSEM) — первый электронный компьютер, построенный по принципу совместного хранения данных и программ в памяти. Создатели — Фредерик Уильямс, Том Килберн и Джефф Тутилл были членами Манчестерского университета. Машина задумывалась, как экспериментальный аппарат для изучения свойств компьютерной памяти на ЭЛТ («трубки Уильямса»). Программы были введены в двухчастную форму, используя 32 выключателя, на продукции CRT.
Кстати, успешные испытания SSEM стали началом создания полноценного компьютера на трубках Уильямса — «Манчестерского Марка I».
10. Первый высокоуровневый язык программирования: Планкалкюль (Plankalkül, 1948 г.)
Этот язык был использован Конрадом Цузе (разработчиком первого работающего компьютера Z3). Хотя Цузе и начал создавать Plankalkül еще с 1943 года, впервые он был применен в 1948 году, когда ученый опубликовал работу на тему программирования. Правда данный язык программирования не привлек особого внимания. Первый компилятор для Планкалкюль (для современных компьютеров) был создан лишь в 2000 году профессором Свободного университета Берлина — Йоахимом Хоманом.
11. Первый ассемблер: «Начальные команды» на EDSAC (1949 г.)
Ассемблер — транслятор исходного текста программы, который преобразовывает мнемонику (низкого уровня) в числовое представление (машинный код).
Первый в мире действующий и практически используемый компьютер с хранимой в памяти программой. Программы были в мнемокодах вместо машинных, делая исходный код самым первым ассемблером.
12. Первый персональный компьютер: «Simon» (1950 г.)
Simon стал первым доступным компьютером. Он разработан Эдмундом Беркли, а построен инженером-механиком Уильямом Портером и выпускниками Колумбийского университета Робертом Дженсоном и Робертом Валлом. Simon имел систему команд и мог выполнять девять операций, в том числе два действия арифметики — сложение и вычитание, а также сравнение и выбор аргументов. Числа и команды считывались с перфоленты, а результат высвечивался на индикаторной панели. На вход могли подаваться числа в диапазоне от 1 до 255 в бинарной нотации, набитые на перфоленту.
13. Первый компилятор: A-0 для UNIVAC 1 (1952 г.)
Компилятор — программа, которая преобразовывает язык высокого уровня в машинный код. A-0 Система была программой, созданной легендарной женщиной-программистом Грейс Хоппер. Основной задачей системы было преобразование программы, определенной как последовательность подпрограмм и аргументов в машинный код. A-0 был выпущен клиентам с его исходным кодом, делающим, возможно, самое первое общедоступное программное обеспечение.
В 1952 г. у Хоппер появился готовый к работе компилятор. Ее высказывание по этому поводу:
В это не могли поверить. У меня был работающий компилятор и никто им не пользовался. Ведь мне говорили, что компьютер может выполнять только арифметические операции.
14. Первый автокод: Автокод Гленни (1952 г.)
Автокод — название группы языков программирования высокого уровня, который использует компилятор. Первый автокод был создан для серии компьютеров в университетах Манчестера, Кембриджа и Лондона. Автокод был создан одним из манчестерских сотрудников Тьюринга — Аликом Глени (собственно в его честь и назван).
15. Первая компьютерная мышь (1964 г.)
Идея компьютерной мыши пришла в голову американскому физику Дугласу Энджелбарту во время конференции на тему компьютерной графики. Он придумал устройство с парой маленьких поворачивающихся колес, которые могут использоваться для свободного перемещения курсора по экрану. Прототип был создан его ведущим инженером, Биллом Инглишем, но Инглиш и Энджелбарт никогда не получали лицензионные платежи для дизайна.
16. Первый коммерческий компьютер: Programma 101 (1965 г.)
17. Первый сенсорный экран (1965 г.)
На фото ниже — первый сенсорный экран (хоть он и мало чем похож на современные модели). Это панель с сенсорным экраном без чувствительности давления (в равной степени на любые касания экрана) с единственной точкой для контакта. В дальнейшем концепт использовался воздушными диспетчерами в Великобритании вплоть до 90-х годов.
18. Первый объектно-ориентированный язык программирования: Simula (1967 г.)
Simula — это язык программирования общего назначения, разработанный сотрудниками Норвежского Вычислительного Центра (г. Осло) Кристеном Нюгордом и Оле-Йоханом Далем для моделирования сложных систем. Учения Чарльза Ричарда Хоара про конструкции класса, языков программирования с объектами, классами и подклассами привели к созданию SIMULA 67.
Simula 67 явилась также первым языком с встроенной поддержкой основных механизмов объектно-ориентированного программирования.
Машина для фюрера Его имя забыто. Но он создал первый в мире компьютер
Имя Конрада Цузе знакомо немногим. Пик деятельности этого немецкого инженера, создателя первого универсального программируемого компьютера, пришелся на годы нацистского режима в Германии. О нем, его работе и о том, как одну из его разработок перепутали с «оружием возмездия», рассказывает «Лента.ру».
Побег из Берлина
Война заканчивалась, шел 1944 год. Берлин регулярно бомбили. Конрад Цузе и его друг прогуливались по улице, по обеим сторонам которой дымились свежие развалины, оставшиеся после ночного налета союзников. «Мы дошли до той точки, когда сможем контролировать и раскрывать всесильную энергию ядра атома, — сказал он пораженному Цузе. — Скоро мы сможем создавать очень большие бомбы. Есть риск, что эксперимент пойдет не так, как предполагалось, и мы взорвем всю Землю».
Так Цузе узнал о существовании атомной бомбы. Конечно, последнее утверждение звучало странно, и он не знал, откуда его друг получил такую информацию, но вскоре слухи поползли по всей стране. Их распространению способствовало и объявление Германии о создании «оружия возмездия».
На чудо надеялся и инженер Цузе, и оно произошло, когда в двери его офиса постучался физик доктор Функ. В то время Цузе с коллегами работал над созданием устройства под названием V4 и обдумывал, каким образом выбраться из Берлина. Доктор Функ устроился в контору Цузе, но никогда не работал в ней как физик. Однако он стал незаменимым переговорщиком, спасшим Цузе, его коллектив и его творение.
Связи Функа и название устройства сыграли в этом деле основную роль. Дело в том, что «оружие возмездия» (Vergeltungswaffen) имело кодовые названия V1, V2 и V3 («Фау»). Название аппарата Цузе — V4 — означало Versuchmodell (то есть «экспериментальная модель»), но когда Функ произносил волшебные слова «Фау-4», государственным чиновникам даже не приходило в голову, что речь идет вовсе не о разработке очередной модели «оружия возмездия». Фраза «»Фау-4″ нужно в целости и сохранности эвакуировать из Берлина» стала их пропуском из столицы, им удалось даже найти для V4 грузовик, хотя их не хватало даже для перевозки авиационных запчастей.
Через несколько дней аппарат успешно прибыл в Гёттинген, где работы над V4 были завершены, а оттуда направился в баварскую деревушку Оберхох. По логичному стечению обстоятельств, там же оказался Вернер фон Браун и его команда, разработчик тех самых ракет «Фау», с которыми чиновники перепутали V4, он же — будущий отец американской космической программы. Цузе и фон Браун общались в течение нескольких дней, благодаря чему инженер понял, что ракетчик даже не имеет представления о том, какую роль потомки V4 смогут сыграть в освоении космоса. Через некоторое время их пути разошлись: в апреле 1945 года Цузе со своими ассистентами и устройством уехал в другую баварскую деревню — Хинтерштайн.
Инженеров приняли в Хинтерштайне холодно. За несколько дней до их прибытия в деревню ворвался отряд эсэсовцев и выгнал жителей одного дома, устроив там свою штаб-квартиру. Разумеется, от людей, прибывших на грузовике вермахта, ничего хорошего тоже не ждали. Цузе так вспоминал это время:
«Мы прибыли в Хинтерштайн в составе пестрой компании вояк. Я до сих пор помню эсэсовца, который считал, что он обязан постоянно, до самого конца произносить пафосные фразы: «Капитулировать? Пока фюрер жив — не обсуждается!» Через несколько дней фюрер совершил самоубийство, и мы вновь встретились на регистрационном пункте. Теперь это был скромный маленький человек в гражданском, регистрирующийся как «иностранный рабочий»».
До конца войны оставались считаные дни. Вскоре здесь появились французские оккупационные войска.
Первые в мире
Машина, за которую Конрад Цузе так беспокоился, позже получила название Z4. Это был один из первых в мире программируемых компьютеров, а его предшественник Z3 — вообще первый.
Все началось в 1937 году, когда Цузе заканчивал работу над прототипом двоичного калькулятора, способного считывать инструкции с перфоленты, — он получил название Z1. В отличие от современных компьютеров, устройство было полностью механическим — не электронным и даже не электрическим.
Закончив технический колледж, Цузе получил работу специалиста по расчету напряжений в берлинском авиаконструкторском бюро, где его работа заключалась в решении линейных уравнений. С помощью них вычислялась максимальная нагрузка, которую способны испытывать материалы, а также их эластичность. Даже с помощью механических калькуляторов решать в день больше шести линейных уравнений с шестью неизвестными для человека-специалиста было не под силу. А если речь шла о 25 переменных, такие расчеты могли занять целый год.
Как и многие другие, Цузе хотел механизировать изнурительный процесс решения математических уравнений. Этим он и занялся в мастерской, которую устроил в доме родителей. Первая версия устройства Цузе позволяла вводить в него двоичный код за счет металлических пластин с выпуклостями и дырками. Сначала его вводили при помощи перфорированной бумаги, потом Цузе перешел на 35-миллиметровую кинопленку, которая оказалась долговечнее и дешевле.
Законченный в 1938 году Z1 действительно мог справляться с некоторыми рутинными вычислительными задачами, но, к сожалению, часто давал сбой. Все его детали были выточены вручную, и механизм заедало. Цузе был лишен возможности сотрудничать с большой командой талантливых специалистов, как это было в американских компаниях IBM или Bell Labs.
Впрочем, Z1 доказал одну важную вещь: теоретическая логическая концепция, которую разработал Цузе, действует на практике. Его товарищ по колледжу Гельмут Шрейер, помогавший создавать машину, настаивал на том, чтобы в следующей ее версии были задействованы вакуумные радиолампы вместо механических переключателей. Реализуй они эту концепцию сразу, у них на руках оказался бы первый в мире работающий современный компьютер — интерпретирующий двоичный код, электронный и программируемый. Но Цузе и эксперты, с которыми он консультировался, пришли к заключению, что на это просто нет средств: на создание такой машины потребовалось бы две тысячи радиоламп.
Поэтому в Z2 были задействованы подержанные электромагнитные релейные переключатели, купленные в телефонной компании. Они были существенно дешевле, но, конечно, значительно медленнее ламп. В результате у Цузе получился компьютер, арифметический блок которого состоял из электромагнитных реле, но блок памяти был по-прежнему механическим — в нем использовались металлические шпеньки, позволявшие считывать программу с перфоленты.
В 1939 году Цузе начал работу над третьей моделью, которая использовала электромагнитные реле как в арифметическом блоке, так и в блоках памяти и управления. Через два года, в 1941 году, он был готов к работе, таким образом став первым в мире цифровым многофункциональным программируемым компьютером — несмотря на то, что не был способен обрабатывать команды ветвления и переходов в программе. Единственным его отличием от более поздних моделей ЭВМ было использование электромагнитных реле, а не ламп.
Война
В 1939 году Шрейер и Цузе попытались заинтересовать своей разработкой власти, однако у них ничего не получилось. Шрейер говорил о возможности создания лампового устройства, пригодного в том числе для расчетов, связанных с противовоздушной защитой. На вопрос, сколько времени уйдет на разработку такой машины, он осторожно ответил: «Около двух лет». Чиновников это рассмешило: «Какие еще два года? К тому времени мы уже войну выиграем!»
Война не закончилась ни через год, ни через два. После вторжения в СССР войска вермахта забуксовали на Восточном фронте, и вскоре в ходе боевых действий наступил перелом. В 1943 году, со вступлением в войну американцев, Берлин стали регулярно бомбить. Снаряды падали как на крупные предприятия, так и на жилые кварталы. Цузе вспоминал:
«В то время об авианалетах предупреждали по радио. Зачастую это происходило в тот момент, когда я стоял перед машиной, пытаясь заставить ее работать. И я не всегда уходил в подвал вовремя. Я до сих пор помню, как испытывал одну сложную новую программу на Z3, которая наконец заработала именно во время бомбежки».
Чуть раньше, в 1942 году, команда Цузе начала создавать тот самый «прототип-4» — будущий Z4. Он был прямым продолжением Z3 и использовал по большей части ту же технологию, что и предыдущие модели, однако у него было несколько важных отличий. Например, память его состояла из 32-битных, а не 22-битных машинных слов с плавающей запятой. Специальный программный блок сильно облегчал процесс программирования и внесения правок в программу. Множество математических операций, таких как квадратный корень или тригонометрические функции, были реализованы на уровне системы команд.
Z4 не только сохранился, но и был востребован после войны. В 1950 году его привезли в Высшую техническую школу Цюриха для обработки сложных вычислений. В 1950-1951 годах он был единственным работающим цифровым компьютером в Европе — его конкурент Ferranity Mark 1 опоздал на полгода.
Помимо этого Цузе стал автором первого высокоуровневого языка программирования Plankalkül, который он разработал в годы создания Z4. Если не вдаваться в технические подробности, основным его достижением было то, что программист мог пользоваться высокоуровневым набором инструкций, не вдаваясь в то, каким образом работает «железо» машины, и это позволяло сосредоточиться на решении поставленной логической задачи.
Компания Цузе Zuse KG после войны выпустила множество компьютеров. Через некоторое время она стала производить транзисторные и ламповые ЭВМ, а в 1961 году создала плоттер Graphomat, позволявший делать чертежи, — незаменимую вещь для архитекторов и геологов. Он работал в связке с компьютерами серии Z.
Вселенная счисления
6 января 1945 года Конрад Цузе женился на Гизеле Брандес. Через несколько месяцев у них родился первенец, а в последующие годы — еще четверо детей. Но Цузе не был примерным семьянином, он был буквально одержим своим делом. Создатель первого универсального программируемого компьютера в мире получил на родине множество наград и почетных степеней. Он умер 18 декабря 1995 года в немецком Хюнфельде в возрасте 85 лет.
Его ранние разработки, погибшие во время бомбежек, были реконструированы. Модель Z1 Цузе восстановил сам, теперь она находится в Немецком технологическом музее в Берлине. Инженеры, работавшие с ним, воссоздали Z3 и отдали ее в Немецкий музей Мюнхена.
Часто можно встретить утверждение о том, что компьютер стал продуктом Второй мировой войны. В случае с Конрадом Цузе это не так. Z1 был создан до войны, а работа над Z3 затянулась потому, что Цузе в 1939-1940 годах призвали в армию, и он провел несколько месяцев на Восточном фронте. Деньги на его создание (как и на создание Z4) власти все-таки выделили — инженеру удалось убедить их в том, что машина будет незаменима для вычислений технических характеристик самолетов, но сделали это неохотно. По счастливой случайности то, что название четвертого экспериментального прототипа четвертой модели было схоже с кодовыми названиями ракет Вернера фон Брауна, Цузе удалось эвакуироваться из Берлина, сохранить и закончить разработку устройства.
Фото: Fabrizio Bensch / Reuters
В последние годы появляется множество работ, посвященных тому, не является ли наша Вселенная лишь комплексной имитацией, немыслимой программой. Цузе задумывался об этом гораздо раньше, еще в годы войны. «Внезапно мне пришла в голову мысль, что Вселенная могла быть зачата гигантской ЭВМ, работающей как релейный калькулятор, — а релейные калькуляторы содержат релейные цепи, — писал он в своих мемуарах. — Когда реле срабатывает, импульс проходит по цепи. Я подумал, что, вероятно, именно так движется квант света». Эта мысль накрепко укоренилась в его сознании, и через 30 лет он сформулировал теорию, получившую название «вселенная счисления».
Упоминания Цузе в современной прессе довольно редки, о нем нечасто снимают документальные фильмы за пределами Германии, а если это и происходит, его работу зачастую несправедливо называют «первым нацистским компьютером». Это утверждение не выдерживает никакой критики: первые ЭВМ Цузе были созданы практически на голом энтузиазме, да и потом нацистские функционеры не понимали ценности его работы.
Конрад Цузе никогда не был героем Сопротивления, но и не пытался стать госчиновником в нацистской Германии. Личная трагедия ученого заключается в том, что ранние его разработки были существенно более продвинутыми, чем у других пионеров, создававших ЭВМ в то время. Увы, о них за пределами страны, движущейся по пути самоуничтожения, практически никто не знал, а мировую известность его машины получили лишь через несколько лет после войны.