ALGOL это язык программирования, первоначально разработанный в 1958 году, который был назван по названию «АЛГОритмический процесс» основной проблемы программирования. Это краткое имя алгоритмического языка. В некотором смысле, это была реакция на Fortran, этот язык был предшественником Паскаля. Он использует слова в качестве ограничителей блоков и был первым, кто использовал пару «begin» и «end». Программирование для начинающих.
Существовали три основные версии официального Алгола: Алгол 58, Алгол 60 и Алгол 68. Из них, язык программирования Алгол 60 был самым влиятельным (Алгол 60 был предком Algol W, который был использован Никлаусом Виртом для разработки Паскаля). Каждая официальная версия Алгола названа в честь года, в котором она была опубликована. Программирование для чайников.
Алгол был разработан совместно с Комитетом европейских и американских компьютерных ученых. Этот язык имеет, по крайней мере, три различных синтаксиса: ссылочный синтаксис, синтаксис публикации, и синтаксис исполнения. Для разного синтаксиса разрешено использовать различные имена ключевых слов, разрешено использовать разные разделители целой и дробной части (запятую или точку) для различных стран как основу программирования.
Язык программирования Алгол 60 был выпущен в 1960 году Джоном Бэкусом и Питером Наурос, которые служили в комитете, который разработал АЛГОЛ. Algol 60 вдохновил разработчиков многих языков, которые создавались позже; цитата в этой связи Э. Хоара «Алгол оказал громадное влияние на своих преемников». Полная цитата «Этот язык настолько опередил свое время, что намного опередил своих предшественников и очень близок к своим последователям», но афоризм более известен. Иногда ошибочно эти слова приписывают Эдсгеру Дейкстре, что вполне понятно, так как он служил в комитете-разработчике, а также делал не менее известные замечания по поводу языка.
Компьютер B5000 компании Burroughs Corporation и его преемники были и остаются вычислительными машины со стеком данных, предназначенные для программирования на расширенном Алголе; действительно операционные системы, или MCP (Master Control Program), как их называют, написано на расширенном Алголе еще в 1961 году. Unisys Corporation до сих пор предлагает схожие с B5000 компьютеры, на которых и сегодня работает MCP и поддерживает несколько компиляторов для расширенного Алгола.
В официальном языке программирования Algol 60 не были оределены средства ввода / вывода; конкретные реализации языка обязательно должны были добавить какие-то свои, но они варьировались от одной реализации к другой. Алгол-68, возможно, преодолел этот недостаток отсутствия объектов ввода / вывода (или «transput»).
Algol 60 разрешал два типа передачи параметров: вызов по значению, и инновационной вызов по имени, от которого было впоследствии отказались языки-преемники. Вызов по имени имел определенные ограничения в отличие от вызова по ссылке, что делает его нежелательной особенностью языкового дизайна. Например, в Алгол 60 невозможно создать процедуру, которая будет менять значения двух параметров, если в качестве фактических параметров, которые передаются будут выступать целочисленная переменная и массив, индексированный по этой же целочисленной переменной.
Джон Бэкус разработал Бэкуса метод нормальной формы описания языков программирования, специально для Алгола 58. Он был пересмотрен и расширен Питером Науром в метод Бэкуса-Наура для Алгола 60. Алгол 68 был определен с использованием двухуровневой грамматики, котруаю изобрел Адриан ван Вейнгаардена и которая носит его имя. Грамматика ван Вейнгаардена использует контекстно-свободную грамматику, порождающую бесконечное множество реализаций, которые будут отражать частности Алгола 68 как программы.