ALGOL, сокращение от Algorithmic Language, представляет собой семейство языков, восходящее к 1958 году. Обычно называемый ALGOL 60, ALGOL имел три основных обновления и был назван в честь года, когда они были обновлены. Алгол 58 изначально создавался для решения некоторых проблем других языков программирования. Это был один из первых языков, в котором были введены блоки (кода) и вложенные функции. Он много раз обновлялся, но сегодня не используется. Сейчас он считается одним из самых влиятельных языков.

История

Алгол был создан европейскими и американскими учеными-компьютерщиками в 1958 году на собрании IAL в Цюрихе, Швейцария. Алгол разработали 13 ученых-компьютерщиков. Некоторыми из этих ученых являются Джон Бэкус, Питер Наур, Фридрих Бауэ и Клаус Самельсон. Алан Перлис описал эти встречи как утомительные и воодушевляющие. Он в основном использовался учеными-исследователями в США и Европе, а затем стал стандартом для публикации алгоритмов. Разрабатывая ALGOL, ученые-компьютерщики надеялись получить новую информацию о языках программирования. Американцы, помогавшие создать АЛГОЛ, сосредоточились на улучшении читабельности языка и его расширении. Алгол 60 до сих пор считается одним из самых влиятельных языков программирования. ALGOL 68 — последняя официальная версия, но она не понравилась сообществу.

Для чего это используется?

Algol изначально разрабатывался для использования в алгоритмах, но в итоге использовался только некоторыми компаниями. Он в основном использовался учеными-компьютерщиками и часто обновлялся на протяжении 1950-х — 1990-х годов, но сейчас используется редко. Трудно даже найти ресурсы для изучения Алгола, поскольку это такой старый язык.

Реализации АЛГОЛа

Поскольку ALGOL был таким влиятельным языком, у него было много реализаций, некоторые из которых сильно повлияли на языки кодирования, которые мы используем сегодня. Примерами этих реализаций являются: реализация ZMMD, X1 ALGOL, Elliott ALGOL, JOVIAL, Burroughs ALGO1, Case ALGOL и многие другие. Самым последним был S-ALGOL, который используется в качестве языка обучения.

За и против

Алгол 60 использовал множество математических символов, которые сейчас широко распространены на устройствах, но не использовались тогда. Сюда входят ×, ÷, ≤, ≥, ≠ и больше. Кроме того, в то время можно было использовать только заглавные буквы. Также не было средств ввода-вывода. Из-за этого АЛГОЛ не был очень популярен и не использовался в бизнес-программировании. Несмотря на все это, АЛГОЛ использовался в академической информатике в 1980-х годах и был очень компактным. Синтаксис АЛГОЛа во многом повлиял на синтаксис популярных сегодня компьютерных языков. Алгол также представил так называемую блочную структуру, которая представляет собой просто блок кода, который может содержать как данные, так и инструкции. Это полезно при создании больших программ с небольшим объемом кода. Кроме того, это был первый язык, в котором были представлены вложенные функции (функция внутри функции).

Примеры кода

Язык, используемый в ALGOL, похож на Python, но есть некоторые отличия. Вот программа на Elliot ALGOL, которая печатает Hello World.

программа HiFolks;

начать

напечатать «Привет, мир»;

Конец;

Как видите, у него та же функция печать, но без скобок. Он также использует функции начало и конец для запуска программы. Вот пример оператора if:

если х=3 то

начинать

y:=9; k:=10

конец;

Алгол использует тот же оператор если, но с началом и концом. Также обратите внимание на : перед знаком равенства. Вот пример цикла в ALGOL и в python:

АЛГОЛ — для i := 1 до тех пор, пока n+1 не сделает

Python — Пока я › 100

n += 1

i -= 1

Вы можете ясно видеть некоторое сходство в Python. На большинство современных языков программирования сильно повлиял ALGOL.

Другие примеры кода

Алгол был одним из первых языков, в котором появился блочный формат. Они также представили вложенные функции, которые начинаются с «begin» и «end». Например:

let n = readi

пусть x = вектор 1::n из 0,0

for i = 1 to n do x(i):= readr

для i = 1 в n-1 делать

для j = 1 чтобы n-i делать

if x(j) > x(j+1) do

начать

пусть temp = x(j)

x(j) := x(j+1)

х(j+1) := темп.

конец

напишите «Отсортированные числа равны n»

для i = 1 чтобы n делать написать x(i), «n»?

Здесь вы можете видеть, что вложенная функция, функция внутри другой функции, начинается с «begin» и заканчивается «end». Это похоже на то, как работают вложенные функции Python, только без начала/конца.

Дизайнеры

Люди, присутствовавшие на собрании и создавшие ALGOL: Фридрик Л. Бауэр, Питер Наур, Хайнц Рутисхаузер, Клаус Самельсон, Бернар Вокуа, Адриан ван Вейнгаарден, Майкл Вуджер, Джон В. Бэкус, Жюльен Грин, Чарльз Кац, Джон Маккарти, Алан Дж. Перлис и Джозеф Генри Вегштейн. Мы должны поблагодарить этих людей за создание того, что сейчас является самым влиятельным языком программирования и лучшим языком, о котором вы никогда не слышали.

Вынос

В целом, ALGOL был отличным языком для своего времени и сильно повлиял на то, как разрабатывались современные языки программирования. Хотя он никогда не использовался широко, он по-прежнему очень важен в мире компьютерных наук. Алгол, созданный группой европейцев и американцев, был первым языком с блочной структурой и очень компактным языком. Важно помнить, что все современные языки кодирования, скорее всего, являются потомками Алгола. Это лучший язык, о котором вы никогда не слышали, и опытные разработчики старой школы о нем узнают!