20 величайших изобретений в компьютерном программировании


В одном из разговоров с нашим старшим редактором мне задали вопрос: «Как первые программисты программировали?» Это привело к дискуссии о Бэббидже и Аде Лавлейс, в конце которой мне было поручено исследовать, как Это все началось – это было много первых в истории вычислительной техники.

Я покопался в книгах и на веб-сайтах и ​​получил много откровений: технически Бэббидж не изобретатель Для компьютеров FORTRAN определенно не был первым языком программирования высокого уровня, и у нас были стилусы для ЭЛТ-экранов (правда).

Я также был удивлен, узнав, насколько важными были войны, способствующие быстрому прогрессу компьютерного развития, а также вклад многих женщин, которые наши учебники предпочитают игнорировать. Таким образом, чтобы заполнить пробелы в истории компьютеров и программ, я собрал 20 новинок в мире вычислений, от шаров для боулинга до Второй мировой войны и всего остального.
1. Первый компьютер: «Разностная машина» (1821 г.)
«Разностная машина» была предложенным механическим компьютером, который будет использоваться для вывода математических таблиц.

По заказу британского правительства Чарльз Бэббидж (он же Отец компьютера) начал работу над ним, но из-за высокой стоимости производства финансирование было остановлено, и машина так и не была завершена.
дифференциальный двигательИсточник изображения: Викимедиа

  1. Первый универсальный компьютер: «Аналитическая машина» (1834 г.)
    «Аналитическая машина» также представляла собой предложенный механический компьютер, входом в который должны были быть перфокарты с перфорированными программами и данными. Еще одно детище Чарльза Бэббиджа, эта машина также не была завершена.
    Аналитическая машинаИсточник изображения: wikieducator.org

  2. Первая компьютерная программа: алгоритм вычисления чисел Бернулли (1841 – 1842 гг.)
    Ада Лавлейс (первый в мире программист) начала переводить записи итальянского математика Луиджи Менабреа об аналитической машине Бэббиджа в 1841 году.

Во время перевода она заинтересовалась машиной и оставила пометки к своему переводу. Одна из заметок – примечание G, содержал алгоритм вычисления чисел Бернулли с помощью аналитического механизма, который считается самой первой компьютерной программой.
первая компьютерная программаИсточник изображения: Викимедиа

  1. Первый рабочий программируемый компьютер: Z3 (1941).
    У Конрада Цузе (изобретателя компьютеров) уже был рабочий механический компьютер Z1, но он работал только несколько минут за раз.

Использование другой технологии – реле, привело к Z2 и, в конечном итоге, к Z3. Z3 был электромагнитным компьютером, для которого программа и данные хранились на внешних перфолентах. Это был секретный проект правительства Германии, который использовался Немецким научно-исследовательским институтом авиации.

Оригинальная машина была уничтожена при бомбардировке Берлина в 1943 году.
Z3 компьютер Цузе5. Первый электронный компьютер: компьютер Атанасова-Берри (ABC) (1942 г.)
Созданный Джоном Винсентом Атанасоффом и Клиффордом Берри, получивший название Atanasoff-Berry Computer или ABC использовался для поиска решения одновременных линейных уравнений.

Это был самый первый компьютер, который использовал двоичные данные для представления данных и электронные переключатели вместо механических. Однако компьютер не был программируемым.
Компьютер Атанасова-БерриИсточник изображения: galileog
6. Первый программируемый электронный компьютер: Colossus (1943 г.)
Колосс, созданный Томми Флауэрсом, был машиной, созданной, чтобы помочь британцам расшифровать немецкие сообщения, которые были зашифрованы шифром Лоренца, еще во время Второй мировой войны.

Он был запрограммирован электронными переключателями и вилками. Колосс сократил время расшифровки зашифрованных сообщений с недель до простых часов.
гигантский компьютерИсточник изображения: Викимедиа

  1. Первый программируемый электронный компьютер общего назначения: ENIAC (1946 г.)
    Финансируется армией США, ENIAC или Электронный числовой интегратор и компьютер был разработан в Школе электротехники Мура Пенсильванского университета Джоном Мочли и Дж. Преспером Эккертом.

ENIAC имел ширину 150 футов и мог быть запрограммирован на выполнение сложных операций, таких как петли; программирование было выполнено путем изменения его электронных переключателей и кабелей. Он использовал кард-ридеры для ввода и перфорацию для вывода.

Это помогло с расчетами на возможность создания первой в мире водородной бомбы.
ENIACИсточник изображения: hnf.de

  1. Первый трекбол: (1946/1952)
    Почему два года на первый трекбол? Позвольте мне объяснить.

Первый год был годом Ральфа Бенджамина, который утверждал, что создал первый в мире трекбол, когда он работал над системой мониторинга низколетящих самолетов в 1946 году. описал использовал мяч для управления координатами XY курсора на экране.

Дизайн был запатентован в 1947 году, но так и не был выпущен, поскольку считался «военной тайной». Вместо этого военные предпочли джойстик.

Второй претендент на звание первого в мире трекбола, который использовался в системе DATAR ВМС Канады еще в 1952 году, был изобретен Томом Крэнстоном и его компанией. У этой конструкции трекбола был макет, в котором использовался канадский шар для боулинга, вращающийся на «воздушных подшипниках» (см. Изображение ниже).
плоский трекболИсточник изображения: engadget

  1. Первый компьютер с хранимой программой: SSEM (1948).
    Чтобы преодолеть недостатки памяти с линиями задержки, Фредерик К. Уильямс и Том Килберн разработали первое цифровое запоминающее устройство с произвольным доступом на основе стандартной ЭЛТ.

SSEM (Манчестер Малогабаритная экспериментальная машина) был использован для реализации этого запоминающего устройства для практического использования. Программы вводились в двоичной форме с помощью 32 переключателей, а на выходе был ЭЛТ.
Реплика SSEMИсточник изображения: The Staffordshire University Computing
10. Первый язык программирования высокого уровня: Планкалкюль (1948).
Хотя Конрад Цузе начал работать над Планкалкюлем с 1943 года, только в 1948 году он опубликовал об этом статью. К сожалению, особого внимания он не привлек. Потребовалось около трех десятилетий, чтобы для него был реализован компилятор, созданный Иоахимом Хоманом в диссертации.
Планкалкул, Глава 5, Теория шахмат11. Первый сборщик: «Первоначальные заказы» для EDSAC (1949 г.)
Ассемблер – это программа, которая преобразует мнемонику (низкоуровневую) в числовое представление (машинный код). Первоначальные заказы в EDSAC (Электронный автоматический калькулятор запоминания задержки) была первой из такой системы.

Он использовался для сборки программ с бумажной ленты ввода в память и запуска ввода. Программы были в мнемонических кодах, а не в машинных кодах, что сделало «начальный код» первым ассемблером, преобразовав символьный программный код низкого уровня в машинный код.
Первоначальный заказИсточник изображения: Компьютерная лаборатория Кембриджского университета

  1. Первый персональный компьютер: «Саймон» (1950).
    «Саймон» Эдмунда Беркли был первым доступным цифровым компьютером, который мог выполнять четыре операции: сложение, отрицание, больше и выбор. На входе была перфорированная бумага, а программа запускалась на бумажной ленте. Единственный выход был через пять огней.
    Саймон Компьютер Эдмунд Беркли13. Первый компилятор: A-0 для UNIVAC 1 (1952).
    Компилятор – это программа, преобразующая язык высокого уровня в машинный код. Система A-0 была программой, созданной легендарной Грейс Хоппер для преобразования программы, заданной как последовательность подпрограмм и аргументов, в машинный код.

Позже A-0 превратился в A-2 и был выпущен для клиентов с исходным кодом, что сделало его, возможно, самым первым программным обеспечением с открытым исходным кодом.
Grace_Hopper_and_UNIVACИсточник изображения: Викимедиа

  1. Первый автокод: автокод Гленни (1952).
    Автокод – это язык программирования высокого уровня, использующий компилятор. Первый автокод и его компилятор появились в Манчестерском университете, чтобы сделать программирование машины Mark 1 более понятным.

Он был создан Аликом Гленни, отсюда и название Автокод Гленни.
гленни автокодИсточник изображения: Википедия

  1. Первый компьютер с графическим дисплеем реального времени: AN / FSQ-7 от IBM (1951)
    AN / FSQ-7 был основан на одном из первых компьютеров Whirlwind, который выводил данные в реальном времени. Он стал спасательным кругом для системы ПВО США, известной как Semi-Automatic Ground Environment (SAGE).

Компьютеры показывали пути к целям и автоматически показывали, какие средства защиты находятся в пределах досягаемости. AN / FSQ-7 имел 100 системных консолей; вот один (изображение ниже), ситуационный дисплей (SD) OA-1008, со световым пистолетом, используемым для выбора целей на экране для получения дополнительной информации.
an-fsq-7Источник изображения: Википедия

  1. Первый широко используемый язык программирования высокого уровня: FORTRAN (1957).
    Если вы посмотрите учебники, вы обнаружите, что FORTRAN указан как первый язык программирования высокого уровня.

Придумал Джон В. Бэкус, который не любил писать программы и решил создать систему программирования, которая поможет значительно упростить этот процесс, использование FORTRAN значительно сократило количество программных операторов, необходимых для запуска машины.

К 1963 году уже было доступно более 40 компиляторов FORTRAN.
Фортран-перфокартаИсточник изображения: Википедия

  1. Первая мышь (1964)
    Идея мыши пришла к Дугласу Энгельбарту в 1964 году, когда он сидел на конференции по компьютерной графике.

Он придумал устройство с парой колесиков (одно вращается по горизонтали, а другое по вертикали), с помощью которых можно перемещать курсор по экрану. Прототип (см. Ниже) был создан его ведущим инженером Биллом Инглишем, но ни Инглиш, ни Энгельбарт так и не получили гонорар за дизайн, потому что технически он принадлежал SRI, работодателю Энгельберта.
Первый прототип мышиИсточник изображения: Майкл Хикс

  1. Первый коммерческий настольный компьютер: Programma 101 (1965).
    Programma 101, также известная как Perottina, была первым в мире коммерческим ПК. Он может выполнять сложение, вычитание, умножение, деление, извлечение квадратного корня, абсолютное значение и дробь.

Несмотря на все, что он мог сделать, он был оценен в 3200 долларов (это были совсем другие времена), и ему удалось продать 44000 единиц. Пероттина была изобретена Пьером Джорджо Перотто и произведена итальянским производителем Olivetti.
программа-101Источник изображения: TEDxArezzo

  1. Первый сенсорный экран (1965).
    На вид это не так уж много, но это был первый сенсорный экран, который когда-либо знал мир. Это емкостная сенсорная панель без чувствительности к давлению (есть контакт или нет контакта), и она регистрирует только одну точку контакта (в отличие от мультитач).

Концепция была принята для использования авиадиспетчерами в Великобритании до 1990-х годов.
сенсорный экран JohnsonИсточник изображения: Arstechnica

  1. Первый объектно-ориентированный язык программирования: Simula (1967).
    Основываясь на концепции конструкций классов К. Хоара, Оле-Йохан Даль и Кристен Найгаард обновили свой язык программирования «SIMULA I», добавив в него объекты, классы и подклассы. Это привело к созданию SIMULA 67, который стал первым объектно-ориентированным языком программирования.
    Запуск программы-примераИсточник изображения: Википедия

Последние мысли
Несмотря на то, что этот пост был о том, что мы могли узнать о многих нововведениях в истории вычислительной техники, трудно погрузиться в саму историю. В результате, по крайней мере, для меня, мы стали более ценить работу, проделанную поколениями до нас, и можем лучше понять, что движет многими изменениями, которые формируют мир, в котором мы живем сегодня.

Надеюсь, этот пост вдохновит вас так же, как вдохновил меня. Поделитесь своими мыслями об этих новинках, и если я что-то пропустил, а я уверен, что сделал, добавьте их в комментарии.
Читаю: 40 человек, изменивших Интернет


0 Comments

Добавить комментарий