Перекладачі з Алгол-60 h2>
Наталія Дубова p>
В
1962 році в СРСР розроблено перший транслятор для мови високого рівня p>
Тільки
в кінці 50-х у користувачів радянських ЕОМ з'явилася можливість вводити в свої
машини символьну інформацію. На початкових етапах всі програмування було
чисельною, оскільки пристрої введення могли працювати тільки з числовими
даними. Мабуть, тому системне програмування для перших вітчизняних
машин розвивалося в напрямку створення трансляторів, а не автокодом і
стандартних підпрограм. У середині 50-х з'явилися так звані
програмують програми для БЕСМ і «Стріли» - перший досвід автоматизації
програмування в Радянському Союзі. Перші школи програмування СРСР
складалися там, де йшла найбільш інтенсивна експлуатація цих "робітників
конячок »раннього періоду вітчизняної техніки, - в ІТМіВТ і в Інституті
прикладної математики під керівництвом академіка Келдиша (тут, до речі, в 1954
році була створена система розрахунку термоядерного вибуху). Завдяки накопиченому
досвіду цим колективам вдалося до 1962 року домогтися нових успіхів - саме
тут розробляються вітчизняні транслятори з тільки що з'явився мови
високого рівня Алгол. p>
Перша
версія Алгол була випущена в 1958-му. Проте визнання і популярність здобув
вдосконалений варіант мови, Алгол-60, названий так тому, що робота
міжнародного колективу розробників над його специфікацією завершилася в
1960 році. Ніклаус Вірт назвав Алгол-60 «першою мовою, який був ясно
визначено: його синтаксис задано за допомогою суворого формалізму ». У цьому ж році
стартували проекти реалізації трансляторів для Алгол-60 в СРСР: у ІТМіВТ і в
ІПМ. p>
До
цього часу основна обчислювальна навантаження в цих організаціях з БЕСМ і
«Стріли» перейшла на останню лампову машину Лебедєва, М-20. Машина
випускалася серійно і завоювала популярність у програмістів не стільки навіть
з-за свого швидкодії, скільки завдяки витонченості і зручності. Ідейним
співавтором Лебедєва при розробці М-20 був математик і програміст Михайло
Романович Шура-Бура, який створив для цієї ЕОМ так звану що інтерпретує
систему ІС-2, яка автоматизувала звернення до бібліотечних підпрограм і
використовувалася всіма що з'явилися в подальшому трансляторами з Алгол для цієї
машини. Під керівництвом Шура-Бури колектив програмістів ІПМ почав розробку
свого транслятора. p>
Але
перший транслятор з мови Алгол для М-20 був завершений у тих же стінах, де була
розроблена сама машина, в ІТМіВТ, хоча за часом цей проект був запущений
дещо пізніше проекту ІПМ. Його автор, Святослав Сергійович Лавров, прагнув
зробити систему трансляції якомога швидше і якомога ефективніше.
Тому транслятор за версією ІТМіВТ під назвою ТА-1 був фактично транслятором
з підмножини мови, без рекурсії процедур і з рядом інших обмежень. p>
В
ІПМ на початку 60-х працював блискучий колектив програмістів - майже весь перший
випуск спеціальності «Програмування» кафедри обчислювальної математики
мехмату МГУ, учні Олексія Андрійовича Ляпунова. Едуард Зіновійович Любимський,
який разом з Шура-Бурої керував розробкою транслятора з Алгол,
згадує, що, познайомившись з мовою, фахівці інституту спочатку
замахнулися на систему автоматизації програмування більш високого рівня,
ніж Алгол-60. Алгол по віддаленості від машинного рівня був аналогічний
операторної схемою програми Ляпунова. Однак Шура-Бура наполіг на тому, щоб
вирішувати більш «приземлену» і нагальну задачу. p>
В
ІПМ теж був свій ТА1 - перше, не зовсім вдала версія транслятора.
Остаточний варіант, ТА2, був завершений дещо пізніше розробки ІТМіВТ,
навесні 1963 року, і вже в травні демонструвався на міжнародній конференції з
програмуванню в Києві. Це була практично повна реалізація мови, і в
час показів у Києві на М-20 транслятор впорався з придуманою одним з
учасників найтяжкої рекурсією. Любимський розповів також, що незабаром після
завершення розробки авторам ТА2 потрапив до рук західнонімецький журнал з
тестової програмою для трансляторів з Алгол-60. Журнал пропонував перевірити
зрілість транслятора, на яку категорію він потягне: man or boy. В ІПМ прогнали
програму і впевнилися у високому рівні своєї розробки. p>
Перша
версія мови, Алгол-58, дуже зацікавила Андрія Петровича Єршова. Після
закінчення мехмату (той же випуск Ляпунова) він працював у ІТМіВТ і був автором
програмує програми для БЕСМ. Однак на початку 60-х Єршов - вже в
Новосибірську, де формувався новий науковий центр, Сибірське відділення АН СРСР.
Єршова запросив сюди академік Соболєв, про роль якого в розвитку
обчислювальної математики і становленні радянського програмування ми вже не
раз згадували. Тепер Соболєв очолив Інститут математики З; організацією
відділу програмування в інституті зайнявся Єршов. p>
Поступово
в Сибіру склалася нова потужна Програмістська школа. Одним з перших її яскравих
результатів стала розробка мови Альфа, який став підсумком роботи Єршова і його
колег над Алгол-58. Єршов розвинув можливості цієї мови, зокрема
додав матричні операції, і отриманий в остаточному підсумку мова виявилася під
чому схожий з Алгол-60. Фактично, завершений в 1961 році мова Альфа - це
«Розширене підмножина» Алгол-60, без рекурсії, але з визначенням
багатовимірних значень та операціями над ними, можливістю ініціювання
змінних і деякими іншими нововведеннями. p>
Список літератури h2>
Для
підготовки даної роботи були використані матеріали з сайту http://www.osp.ru/
p>