Алгол

Учасники Віденської лабораторії. Зліва направо: (стоять) Пітер Лукас; Джордж Лесер; Віктор Кудєлка; Курт Уок; сидять: Хайнц Рутісхаузер; Курт Бандат; Хайнц Земанек; Норберт Тюфельхарт

Алго́л [від англ. аlgo(rithmic) l(anguage) — алгоритмічна мова] — сімейство алгоритмічних мов програмування високого рівня, розроблених для розв’язування науково-технічних задач за допомогою електронно-обчислювальних машин (ЕОМ).

Історична довідка

Алгол-58

Розробку Алгол-58 розпочато спеціалістами з Європи і США 27.05.1958 у м. Цюриху (Швейцарія). У роботі брали участь автор мови Фортран Дж. Бекус і Дж. Уегстен, пов’язаний із розробленням мови Кобол. Дж. Бекус розробив строгу й точну систему логічного визначення для синтаксису Алголу — нормальну форму Бекуса (БНФ). Наприклад, елемент «цифра» описано як «<цифра>: = 0|1|2|... |9|». Алгол-58 чіткіше, порівняно з Фортраном, структурував основні поняття, але його широко не використовували через велику кількість помилок.

Алгол-60

Розробку Алгол-60 розпочато в січні 1960. Одним із розробників був П. Наур, який запропонував варіант зміненої мови Алгол, записаний за допомогою БНФ. В Алгол-60 реалізовані нові підходи (поняття блочної структури програми й області дії позначень), що уможливило розподіл роботи зі створення великих програм, динамічний розподіл пам’яті та розвинутий апарат виклику процедур. Кожна підпрограма на Алголі має власні, описані всередині неї дані, однозначно визначений інтерфейс у вигляді імені та списку формальних параметрів і блок коду. Блок програми — це частина програмного коду, що знаходиться між парою ключових слів «begin» і «end». Розрізняють три рівні Алгол-60: еталонна мова, мова публікацій та конкретні представлення.

В Алгол-60 для керування виокремлено наступні структурні конструкції: умовні оператори, цикли, послідовні ділянки, які виконують умовно чи багаторазово вкладені набори операторів, також обмежені ключовими словами «begin» та «end». Це дало змогу описувати логіку програми без використання безумовних переходів.

Алгол-60 використовували для наукових досліджень (переважно в Європі). Його широке застосування ускладнене відсутністю в його специфікації стандартного розв’язання для введення й виведення даних та нестачею інтересу з боку великих постачальників комп’ютерів. Суттєвим недоліком Алгол-60 була складність створення для нього компілятора. Незважаючи на це, мова Алгол-60 стала стандартом для публікації алгоритмів та основою для створення інших мов програмування.

Алгол-68

У 1962 під егідою Міжнародної федерації з обробки інформації ІФІП (англ. International Federation of Information Processing) створено новий комітет, завданням якого було подальше вдосконалення мови Алгол. У його роботі брали участь Е. Дейкстра, Н. Вірт і Ч. Е. Хоар. Алгол-68 мав позбутися недоліків попередньої версії, пов’язаних із відсутністю механізмів уведення й виведення даних та низькою швидкодією.

В Алголі-68 проведено чітку різницю між зовнішніми об’єктами (синтаксично визначеними частинами програми) та внутрішніми об’єктами (значеннями певного типу), реалізовано два способи передавання параметрів у підпрограму — за іменем і за значенням (у більшості мов програмування параметри передаються за значенням).

Характеристика

Алгол поєднує кілька мов програмування, розроблених комітетом ІФІП, назви яких пов’язані з роками їхнього створення — Алгол-58, Алгол-60 та Алгол-68. Алгол широко застосовували в Європі та в СРСР для прикладного програмування й для описування алгоритмів у науковій і технічній літературі.

Значення

Мови сімейства Алгол уплинули на подальший розвиток алгоритмічних мов програмування високого рівня, найвідомішою з яких є Паскаль. Більшість мов, що виникли пізніше, базувалися на ідеях, апробованих та реалізованих в Алголі. Найважливіші з них — рекурсія, блокова структура програми та формалізоване визначення синтаксису на основі БНФ.

Алгол в Україні

В Україні одним із перших пропагандистів мов програмування високого рівня був В. Глушков, який 1957–1982 очолював Інститут кібернетики Академії наук України. Перші його результати зі створення високорівневих мов програмування були пов’язані саме з Алгол-60. У 1962 група науковців під керівництвом В. Глушкова розробила обчислювальну машину, що апаратно реалізувала мову Алгол-60. Створена в 1966 ЕОМ «Україна» забезпечувала структурною інтерпретацією мову високого рівня Алгол-60. Концепції, закладені в основу цього проекту й розроблені вперше саме в Україні, випередили багато ідей американських великих ЕОМ 1970-х. У процесі виконання проектом було досліджено інтерпретацію мов високого рівня, доведено доцільність їх реалізації в комп’ютерах високої продуктивності та апробовано розробку їх математичного забезпечення. Подальший розвиток цього напряму досліджень затримала відсутність належної елементної бази для обчислювальної техніки.

Література

  1. Backus J. W. et al. Revised report on the algorithmic language Algol 60 // The Computer Journal. 1963. № 5 (4). С. 349–367. URL: http://www.algol60.org/reports/algol60_rr.pdf
  2. Report on the algorithmic language Algol 68 // Revised Report on the algorithmic language Algol 68 / Edited by A. van Wijngaarden at al. Berlin, Heidelberg : Springer, 1969. URL: http://web.eah-jena.de/~kleine/history/languages/Algol68-RevisedReport.pdf
  3. Халилов А. И. Алгол-60 // Энциклопедия кибернетики. Киев : Главная редакция Украинской Советской Энциклопедии, 1974. Т. 1. С.90-92.
  4. Ахо А. В., Сети Р., Ульман Дж. Д. Компиляторы: принципы, технологии и инструменты. Москва : Издательский дом «Вильямс», 2001. 768 с.
  5. Капітонова Ю. В., Храмов Ю. О. Великий українець В. М. Глушков та його наукова школа // Наука та наукознавство. Київ : Інститут досліджень науково-технічного потенціалу та історії науки ім. Г. М. Доброва НАН України, 2007. Вип. 4. С. 75–86. URL: http://dspace.nbuv.gov.ua/bitstream/handle/123456789/49190/07-Kapitonova2.pdf?sequence=1
  6. Вирт Н. Построение компиляторов / Пер. с англ. Москва : ДМК Пресс, 2013. 188 с.

Автор ВУЕ


Покликання на цю статтю

Покликання на цю статтю: Рогушина Ю. В. Алгол // Велика українська енциклопедія. URL: https://vue.gov.ua/Алгол (дата звернення: 6.05.2024).


Оприлюднено

Статус гасла: Оприлюднено
Оприлюднено:
26.12.2017

Важливо!

Ворог не зупиняється у гібридній війні і постійно атакує наш інформаційний простір фейками.

Ми закликаємо послуговуватися інформацією лише з офіційних сторінок органів влади.

Збережіть собі офіційні сторінки Національної поліції України та обласних управлінь поліції, аби оперативно отримувати правдиву інформацію.

Отримуйте інформацію тільки з офіційних сайтів


Міністерство оборони України Лого.png

Міністерство оборони України

МВС України Лого.jpg

Міністерство внутрішніх справ України

Генеральний штаб ЗСУ Лого.jpg

Генеральний штаб Збройних сил України

Державна прикордонна служба України Лого.jpg

Державна прикордонна служба України

Увага! Опитування читачів ВУЕ. Заповнити анкету ⟶