Был ли ALGOL когда-либо использован для "основного" программирования?

Я знаю, что ALGOL язык является супер-uber-чрезвычайно важным как теоретический язык, и он также имел множество реализаций, таких как за Википедию.

Однако, что неясно, был ли ALGOL (чистый ALGOL, а не любые его производные, такие как Simula), когда-либо фактически использовавшиеся для любого "реального" программирования каким-либо образом?

Под "реальным" я подразумеваю использование нескольких проектов большого размера, отличных от изучения языка программирования /CS, или значительного числа разработчиков (скажем, > 1000).

Лично, единственное программирование ALGOL, которое я когда-либо делал, было на бумаге, поэтому любопытство.

Ответ 1

Algol58, по-видимому, был наиболее успешным с точки зрения важных приложений.

Из Википедии:

JOVIAL является акронимом для "Jules Own Версия Международного Алгоритмический язык." Международный алгоритмический язык" было первоначально предложено название АЛГОЛ 58. Он был разработан для составления программное обеспечение для электроники военный самолет Жюля Шварца в 1959.

Тогда:

Известные системы, использующие JOVIAL, включают: Milstar Communications Спутник, Расширенный круиз Ракета, B-52, B-1B, B-2 бомбардировщики, C-130, C-141 и C-17 транспорт самолет, F-111, F-15, F-16 (до Block 50), и F-117 истребитель, LANTIRN, U-2 самолет, E-3 Sentry самолет AWACS, Флот Aegis крейсеры, армия Ракетная система с несколькими ракетами (MLRS), армия UH-60 Black Hawk, F100, F117 и F119 jet двигатели, NORAD воздух обороны и управления (Хьюз HME-5118ME) и RL-10ракетных двигателей. Воздушно-десантные radarсистемы со встроенным программным обеспечением JOVIAL включить APG-70, APG-71и APG-73

ALGOL 68 использовался в рамках DRA с той же целью. ср Википедия:

"Агентство оборонных исследований '' ' (обычно называемый "DRA "), был исполнительное агентство Министерство обороны Великобритании(MOD) с апреля 1991 года по апрель 1995 года. время DRA была крупнейшей в Британии наукой и технологической организации.

Компилятор DRA Algol68 был, наконец, открыт в апреле 1999 года и теперь доступен для linux для download от sourceforge. (Однако интерпретатор "Algol68g "прост в использовании").

ICL Algol68 был /is S3 - он был разработан британской компанией International Computers Limited (ICL) для своих 2900 Series мэйнфреймов. Это язык системного программирования на основе ALGOL 68, но с типами данных и операторами, соответствующими тем, которые предлагаются в серии 2900. Это был язык реализации операционной системы VME.

Есть (по крайней мере) две другие британские операционные системы: Flex и Cambridge_CAP_computer - написано в вариантах Algol68. А также 1 советская ОС: Эльбрус-1 (Эльбрус-1), но мне еще не найти любой их исходный код. (Если кто-нибудь может найти и распространить этот исходный код, пожалуйста, дайте мне знать)

BTW: Я считаю, что VME работает еще - в производстве - в качестве гостевой виртуальной машины Linux/Unixware. В основном на Содружество Наций Пользовательские/Иммиграционные услуги.

Также за тот же период СССР использовал Алгол68, c.f. ссылка истории. Algol68 используется на российских телефонных станциях. И Algol58 использовался в русской системе "Буран/Буран "Система посадки космического корабля".

ALGOL68 был интернационализирован в 1968 году. Я подозреваю, что в других странах есть другие проекты Algol. esp на немецком, на голландском японском и китайском языках, но у меня нет никаких деталей.

Если вы хотите на самом деле попробовать Algol68 и/или внести свой код, посмотрите Rosettacode репозиторий ALGOL 68, затем в качестве проекта класса попробуйте один из Задачи не реализованы.

Ответ 2

Ничего похожего на 2-летние темы. Я программирую в АЛГОЛ почти ежедневно. Я программист на мэйнфрейме Unisys ClearPath, и большинство системного кода написано в ALGOL или вариантах. Burroughs B5500 был действительно разработан вокруг языка, поэтому это довольно эффективный язык/процесс компиляции. Конечно, эта версия ALGOL с некоторыми расширениями, такими как ограниченные классы (структурные блоки) и т.д.

i := 80;
while i > 0 do
   begin
   scan ptrRay:ptrRay for i:i until in ALPHA;
   scan ptrEnd:ptrRay for i:i while in ALPHA;
   if i > 0 then
      begin
      replace nextToken by ptrRay for (offset(ptrEnd) - offset(ptrRay)); 
      end;
   end;

Этот код сканирует ALPHA только токены. Он использует функцию OFFSET, которая немного дороже, чем использование математики остаточного счета (i, starti и т.д.);

Ответ 3

Как и Том, я программирую в ALGOL почти ежедневно - и я тоже на Unisys Clearpath. АЛГОЛ является основным источником моих погашений ипотечных кредитов в течение многих лет, чем я помню.

Ответ 4

Когда я начал программировать, Algol был единственным компилятором. Да, это был мейнстрим, пока мы не получили компилятор Fortran.

Ответ 5

Чтобы следить за ответом themis, вся семья Burroughs "большая система" (5000, 5500, 5700, 6500, 6700...) была действительно разработана, чтобы хорошо управлять Algol. Операционная система, компиляторы и основные системные утилиты были написаны в Алголе; если это не "реальное" программирование, что такое?

Чтобы быть точным, в течение жизни семейства продуктов Берроуз расширил Алгол до надстройки под названием ESPOL. Когда Берроуз выпустил семейство "малых систем" (1700, 1800, 1900), они определили другой язык, подобный алгологу, который называется SDL (язык разработки систем), в котором было написано операционное программное обеспечение этой линии. Доступ к SDL был ограничен по соображениям безопасности. Затем был создан вариант SDL с удалением некоторых из "привилегированных" функций. Полученный язык, называемый UPL (User Programming Language), был доступен для использования пользователями.

Некоторые из нас до сих пор помнят, когда фраза "Алголоподобный язык" использовалась для описания любого языка программирования с блочно-ориентированными структурами управления и изменением переменных. Широко известные примеры алгол-подобных языков включают PL/I, Pascal и (... ждут его...) C.

Ответ 6

Алгол был основным языком программирования для Burroughs B5000.

Ответ 7

Однако, что неясно, был ли Алгол (чистый Алгол, а не любые его производные, такие как Симула), когда-либо фактически использовавшиеся для любого "реального" программирования каким-либо образом?

Пожалуйста, избегайте термина "реальное" программирование. "Реал" - в отличие от чего? Имагинативный?

Под "реальным" подразумевается использование нескольких проектов большого размера, отличных от изучения языка программирования /CS, или значительного числа разработчиков (скажем, > 1000).

Да. Он использовался для определенного количества проектов, на которых работало определенное количество разработчиков.

Только то, что обычно неверно истолковывается сегодня, - это это; в те времена компьютеры были не совсем домашним товаром. Черт, они были не такими 30 лет назад, менее одинокими 60.
Программирование осуществлялось в компьютерных центрах, которые были либо в государственной собственности (военные, академические, институты различного типа), либо на частных предприятиях (крупные компании). И программирование не было профессией - это то, что делали инженеры, математики, ученые и т.д., Когда их работа была сделана на бумаге... или у них были специализированные операторы, которые сделали это для них. Часто женщины, которые могли или не могли иметь научную основу в этой конкретной области, - они были "переводчиками языка", в которых отсутствует лучший термин (и мой плохой английский).

Теории программирования и исследования были в начале... поставщиков мало (и, естественно, несовместимы друг с другом)... каждый из них использовал свои собственные расширения, и часто программы, написанные для одного, плохо работали с другим системы поставщиков.
Не было "правильного пути", чтобы что-то сделать... у вас было то, и другое, и вы использовали то, что поймете, чтобы решить свою проблему.

Но я скитался. Позвольте мне вернуться к числу людей. Это также относится к нескольким другим языкам; fortran и cobol, например. Люди говорят: "очень немногие используют его". Это просто неправда. Верно то, что небольшой процент людей использует его сегодня, но более высокий процент людей использовал его.

Как я уже сказал, в те дни только наука. и англ. для этого использовалось сообщество. И их число было относительно небольшим по сравнению с общей численностью населения. В настоящее время все используют компьютеры, но абсолютное число инженеров, математиков и т.п. Почти одинаково. Таким образом, кажется, что никто больше не использует эти языки... в то время как в действительности для определенных специализированных языков (ну, в настоящее время это касается fortran и cobol, более чем algol), число пользователей в значительной степени постоянное.

Лично, единственное программирование Algol, которое я когда-либо делал, было на бумаге, поэтому любопытство.

Я знаю, что я не ответил на ваш вопрос, но просто хотел это очистить. Алгол был немного "beofre мое время".

Ответ 8

Мой первый опыт программирования был на Burroughs B5500, принадлежащем Северной Природной Газовой Компании, начиная с 1970 года. Я начал работать в COBOL, но переключился на ALGOL (фактически использовал оба), когда им нужна дополнительная поддержка для большой Информационной системы по нефти и газу что было написано почти полностью в АЛГОЛЕ. В то время было два отдела программирования Business Systems и Scientific Computing. Отдел научных вычислений запрограммирован в ALGOL и FORTRAN, а отдел бизнес-систем - в основном COBOL с небольшим количеством ALGOL. Север перешел от B5500 до B6500, B6700, B6900, B7800 и B7900, пока я был там. В конечном итоге я перешел в отдел технической поддержки и занялся созданием и поддержкой MCP-патчей, чтобы настроить систему на потребности Северной. Это было весело!

Короткий ответ на вопрос. Да. В Северной было множество прикладных систем, написанных в ALGOL. Конечно, это версия Burrough ALGOL (расширенная ALGOL).

Ответ 9

Burroughs B5500 Extended Algol был использован для исследований в области астрофизики, лингвистики и статистики в моем университете (Университет Монаш, Австралия) в конце 60-х годов. Он также использовался в коммерческих приложениях, которые помогли оплатить счета за компьютерный центр.

Как я пишу это, я запускаю программы Algol в последней версии эмулятора Burroughs B5500 от команды на ретро-b5500 в Тасмании. Эмулятор полностью работает в браузере и верно моделирует процессоры, диски, ленты, устройства для чтения карт, линейные принтеры, перфокарты и устройство передачи данных!

Вы можете прочитать о проекте в http://retro-b5500.blogspot.com/ и http://code.google.com/p/retro-b5500, и вы можете написать программы Algol, возможно, самую лучшую машину Algol, когда-либо создаваемую (за исключением, возможно, ее преемника B6700.)

Один из постдоков из Monash написал обратный компилятор от IBM Assembler к Burroughs COBOL в Algol, который использовался для переноса всех приложений биллинга в государственной газовой и топливной корпорации от IBM 360s до Burroughs 6700.

Ответ 10

Еще в 1970 году я помог разработать Jovial-компилятор для Royal Dutch Navy. Одно из его больших преимуществ заключалось в том, что оно было написано в Jovial, поэтому мы все стали очень хорошими экспертами Jovial. Фактически, в рамках тестового цикла мы должны скомпилировать компилятор, хотя последнее воплощение самого себя и запустить все наши тестовые наборы. Если он пройдет, мы выпустим первый компилятор. Таким образом, каждый выпуск имел возможность компиляции и что компилятор мог пройти все тесты. Поскольку каждый найденный баг всегда был добавлен в наш тест самопроверки, качество компилятора улучшилось и улучшилось. К тому времени, когда мы покинули проект, у нас не было известных ошибок... моего времени и времени, которое когда-либо случалось.

Ответ 11

Я запрограммировал в Algol/Jovial еще в 70-х для военных. Мне нравился этот язык. Вы не могли выполнить рекурсию в Fortran, и я часто мог сделать программу намного проще, используя правильную структуру данных и небольшую рекурсию.

После того как я оставил это задание, я обнаружил, что другие разработчики проекта не хотели поддерживать код Jovial и пытались воспроизвести то, что я сделал в Fortran. Он просто не работал и был намного медленнее.

Я узнал о теории компилятора, перейдя в исходный код компилятора Jovial. Ах... это были дни.