Автокод Гленни. Каким был первый высокоуровневый язык программирования
Рассказали, что такое автокод, кто придумал его первым и почему автокод можно считать первым современным языком программирования.
942 открытий3К показов
Автокод был разработан в 1950-х годах и представлял собой высокоуровневый язык программирования. Он был создан, чтобы облегчить процесс написания кода. Автокод позволял писать программы не на машинном языке и даже не на ассемблере, и это была инновация.
В общем-то, автокод стал первым языком программирования в том виде, в котором мы привыкли его видеть сегодня: появились буквенные обозначения операций.
В 50-е годы программисты писали код на машинном языке или ассемблере и работали напрямую с адресами памяти компьютера. Конечно, это было сложно и долго, а ошибиться можно было слишком легко. Каждая операция и адрес памяти задавались в виде числовых кодов, после чего их вручную размечали на перфокартах.
Автокод позволил программистам использовать более удобный и абстрактный способ описания операций для компьютера. Он стал использовать символические имена для операций, что делало код более понятным и легким для чтения.
Теперь программисты могли обращаться к переменным по именам, вызывать циклы и условные операторы.
Кто придумал автокод
Первый автокод был разработан Аликом Гленни в 1952 году для компьютера Mark I. Гленни работал в Манчестерском университете, и за свою жизнь успел приложить руку к множеству открытий в мире IT.
К примеру, вместе с Аланом Тьюрингом, знаменитым британским математиком, Гленни разработал компьютер Mark I, который был одним из первых компьютеров, хранящих программу для него прямо на борту.
Первая версия Mark I была представлена в 1949 году, и именно для этого компьютера Гленни разработал высокоуровневый язык. Дело в том, что работать на Mark I было даже сложнее, чем на прочих компьютерах той поры, хотя все они были огромными шкафами без всякого интерфейса и принимали перфокарты.
Чтобы облегчить работу себе и коллегам, Гленни придумал первый современный язык программирования, который компилировался компьютером. При этом Гленни отмечал, что потеря эффективности автокода по сравнению с машинным языком составляла не более 10%.
Вот, как выглядел автокод Гленни:
После работы в Манчестере, Гленни перешел в Исследовательский институт атомного оружия, где в начале 60-х годов разрабатывал компиляторы для FORTRAN и компьютеров IBM.
Автокод Гленни не был единственным автокодом. Условно говоря, автокоды скорее являются семейством первых высокоуровневых языков программирования, которые поддерживали абстракцию и могли компилироваться.
Автокодов была целая куча. Все дело в том, что они разрабатывались под конкретные ЭВМ, потому что все они были устроены по-разному. Если Гленни создал свой автокод для Mark I, то для IBM он бы уже не работал.
Примеры программ на Автокоде Гленни
Пример простой программы на Автокоде Гленни, складывающей два числа:
Пример цикла на Автокоде Гленни, вычисляющего факториал числа:
Пример условной конструкции на Автокоде Гленни, проверяющей четность числа:
Что общего между автокодами и современными языками программирования
Впоследствии программисты смогли доработать автокод Гленни и даже сделать его модульным. Вот, почему можно считать автокоды частью огромного семейства современных языков программирования:
- Автокоды поддерживали абстракции. Также они включали в себя синтаксические конструкции для работы с данными, операциями и структурами.
- У автокодов была схожая с современными языками программирования синтаксис и структура.
- Поздний автокод можно было переносить на разные платформы. Его можно было запускать на разных компьютерах, и он работал без изменений.
- Автокод предлагал оптимизацию и определение типов данных, которые делали код эффективнее. Все, как в современных языках программирования.
- Автокод, как и современные языки, в конце концов стал модульным: его можно было использовать в разных проектах и интегрировать с библиотеками и фреймворками. Автокод можно было поделить на функции и модули, чтобы перенести в другие проекты.
Немного о судьбе Алика Гленни
После того, как Гленни покинул Манчестерский университет, разработка автокода не закончилась. Уже в 1955 году Тони Брукер представил собственную версию автокода для того же Mark I.
Позже Брукер написал научную статью, в которой не стал упоминать Гленни как одного из людей, который приложил руку к созданию автокода.
В Википедии статья про Гленни ограничивается парой абзацев. В Британнике у Алика Гленни нет даже отдельной статьи, только одно упоминание.
Он умер в 2003 году.
942 открытий3К показов