Использовался ли Алгол для "основного" программирования? [закрытый]

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

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

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

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

12 ответов


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

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

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

затем:

известные системы, использующие JOVIAL включают the Milstar Communications Спутник, Дополнительно Круиз Ракета!--7-->, Б-52, B-1B, Б-2 бомбардировщики, C-130, C-141 и C-17 транспорт самолет, F-111, F-15, F-16 (до блока 50), и F-117 , воздушных боях, U-2 , E-3 Sentry АВАКС , Флот!--48-->Иджис крейсера, армии Ракетная Система Залпового Огня (РСЗО), армии UH-60 Черный Хоук!-Вертолеты -7-->, выключателей F100, F117 и F119 jet двигатели!--7--> на НОРАД воздух система защиты и управления (Hughes Система HME-5118ME) и RL-10 ЖРД. ВДВ радар системы со встроенным программным обеспечением JOVIAL включите APG-70, APG-71 и APG-73

Алгол 68 в ДРА с той же целью. ср. Википедия:

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

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

Algol68 ICL был / есть S3 - он был разработан Великобританией компания International Computers Limited (ICL) для его 2900 серии мейнфреймов. Это язык системного программирования основанный на Алгол 68 но с типами данных и операторами выровнянными к тем предложенным серией 2900. Это был язык реализации операционной системы VME.

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

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

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

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

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


ничего похожего на ответ на 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. Он использует функция смещения, которая немного дороже, чем использование остаточного счета самостоятельно (i, starti и т. д.);


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


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


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

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

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


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


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

пожалуйста, избегайте термина "настоящего" программирования. "Настоящий" - В отличие от чего ? Образное ?

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

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

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

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

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

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

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

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


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

краткий ответ на вопрос. Да. Northern имел ряд прикладных систем, написанных на АЛГОЛЕ. Конечно, это была версия Алгола Берроу. (расширенный Алгол).


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

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

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

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


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


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

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

I узнал о теории компилятора, копаясь в исходном коде для jovial компилятора. Ах... то были дни.


Algol был хорошо реализован на машине Elliott 4100 и широко использовался для разработки ранних моделей процессов нефтепереработки в Исследовательском центре BP в конце 60-х годов. Однако в то время ввод/вывод не был четко определен (варьировался между машинами), и в BP его быстро обогнал Fortran IV, поскольку программы, написанные на строгом Fortran IV, будут работать практически на любом варианте машины - IBM, Univac, Atlas и т. д., п.