Программисты старшего (и очень старшего) возраста наверняка помнят такую книгу Фролова и Олюнина: «Практический курс программирования на языке PL/1», изданную в 80-х массовым тиражом. В те времена не было Интернета, и поэтому получить нужную информацию можно было, только купив или взяв в библиотеке или у коллеги соответствующую книгу. Поэтому и специальная литература издавалась в Советском Союзе фантастическими по нынешним меркам тиражами. Впрочем, в масштабах страны тогда и стотысячный тираж не мог обеспечить требуемыми экземплярами все библиотеки. Но даже с учетом всех этих обстоятельств, общий тираж изданий книги Фролова и Олюнина велик, он превысил 300 000! Наверное, это был самый массовый учебник по языку программирования в нашей стране. А ведь это было всего лишь учебное пособие для студентов.

Я всегда жалел, что у меня нет подобного пособия. С одной стороны, я в жизни не работал на ЕС ЭВМ, и потому всякие описания «наборов данных с региональной организацией 3-го типа» мне были и не нужны. Но, с другой стороны, язык, который я использую, тоже называется PL/1, хотя и с приставкой «подмножество». Почему подмножество? Потому, что еще Л.Ф. Штернберг (как знаток языка) утверждал, что если создать язык, отличающийся от PL/1 только тем, что из него убраны некоторые возможности, получится язык лучший, чем PL/1.

В целом, я согласен с Леонидом Францевичем. Простой пример. При разработке языка было принято вполне логичное решение – работать с массивами как с обычными переменными. Например, если перемножить переменные – получим их произведение. А если это не переменные, а массивы переменных – получим их произведение как массив, у которого каждый элемент – произведение элементов исходных массивов. Логично? Вполне. Трудно для понимания? Да нет, не трудно. Трудно для реализации? Да, и очень громоздко и для компилятора и для системных библиотек.

А за десятилетия работы мне часто требовалось, например, перемножать матрицы, но ни разу - перемножать массивы. Разумеется, есть и такие задачи. Если бы я писал какой-нибудь «Excel», я бы, наверное, порадовался такой возможности. Но в целом, это типичная ситуация: возможность используется не часто или вообще не используется, а сил на реализацию уходит много. Ну сделала так IBM в своем компиляторе, не выбрасывать же. Но на другие платформы зачем всю эту громоздкость тащить? И это было понятно не одному Л.Ф. Штернбергу.

Еще в 1980 году специалист по фамилии Фрайбургхаус разработал версию языка, которая позднее превратилась в международный стандарт ISO/IEC 6522:1992. На мой взгляд, у этой работы были и объективные и субъективные предпосылки.

С технической стороны, имевшийся продукт IBM не устраивал тем, что был очень привязан к IBM/360 и к «пакетному» режиму работы. Например, имелся препроцессор с чудовищно большими возможностями, включая препроцессорные процедуры и переменные. Зачем он нужен при интерактивном режиме работы, когда любым текстовым редактором я все равно могу изменить исходный текст еще круче? Или, например, предполагалось, что программист заранее напишет обработчики всех возникающих прерываний. Но при отладке это нереально. Гораздо продуктивнее использовать интерактивный отладчик и действовать по складывающейся во время работы программы обстановке. И так во всем.

Но, на мой взгляд, были и субъективные причины переделки PL/1. Многих специалистов очень раздражал снобизм руководства IBM и его непоколебимая уверенность в своем программно-аппаратном превосходстве. В части PL/1 фирма действовала под девизом: «Мы создали самый совершенный на все времена язык для самой совершенной на все времена машины. Мы не собираемся ничего никуда переносить». Как говорится, жрите, не обляпайтесь!

Хотя сама же IBM и открыла эру персональных компьютеров, ее политика в части ПО для них и в частности PL/1 выглядела настолько неумной, что даже возникла конспирологическая теория, что IBM специально не хочет массового распространения своего языка, чтобы использовать его только внутри фирмы для получения конкурентного преимущества при разработке ПО. Но это напоминает подозрения болельщиков после разгрома любимой команды, что, дескать, наши футболисты специально проиграли потому, что «сливали тренера».

Как бы то ни было, появился язык, имеющий много общего с языком IBM, но отвязанный от IBM/360. Поскольку в те времена было не принято после каждого изменения придумывать языку новое имя, он так и остался языком PL/1, но при этом подмножеством общего назначения.

И вот такой язык у меня есть и большую часть жизни я его и использую, а вот учебника по нему на русском нет и никогда не было. И я всегда с завистью смотрел на книгу Фролова и Олюнина. Как там все с математической строгостью (ведь авторы, вроде, математики из МГУ) по полочкам разложено, и все понятия формально описаны. Чуть занудно, зато, если разберешься - все логично, как и положено в математике.

И я решил, во-первых, в знак уважения к Геннадию Дмитриевичу и Виктору Юрьевичу «обессмертить» их труд – т.е. перевести его в нули и единицы. И не в какое-нибудь «дежавю» (такие образы этой книги давно есть в сети), а в настоящий .DOCX. А, во-вторых, и это главное, изъять почти половину объема книги и заменить разделы, описывающие взаимодействие с ЕС ЭВМ, более полезными описаниями.

В самом деле, в том виде, в каком вышла эта книга, сейчас она может быть полезна или историкам ИТ, или уж совсем каким-нибудь «реликтам», работающим на каких-нибудь эмуляторах IBM/390. Да и то, думаю, у всех у них еще сохранились бумажные экземпляры.

Другое дело, если человек имеет ноутбук с Windows 10 и хочет попробовать разные средства, в том числе и это подмножество. Тогда и учебное пособие должно иметь соответствующее содержание. При этом я старался сохранить и общую форму, и стиль, несмотря на некоторую его архаичность. Так, что, надеюсь, труд Фролова и Олюнина обретет вторую молодость.

И еще важный момент. Я сторонник использования родного языка в программировании. В этом отношении с PL/1 проще: у него нет зарезервированных слов. Сначала я даже хотел использовать в пособии исключительно кириллицу. Но тем программистам, кто учился на английских ключевых словах (я и сам такой), очень тяжело воспринимать непривычный вид исходных текстов. Поэтому во многих случаях приводится оба варианта. Замечу, что новички, ничему ранее не учившиеся, совершенно легко и спокойно воспринимают русские ключевые слова. И я им завидую.

Собственно само пособие здесь.

P.S. Если кто-то, листая текст пособия, вдруг найдет смысловые, орфографические и прочие ошибки – сообщите, приму с благодарностью и исправлю потому, что у меня глаз уже замылился.

P.P.S. На возможные комментарии в духе «Не-а, не взлетит, все протухло» сразу отвечаю: все уже давным-давно летает (даже на МКС), а вот учебника не было, это факт.

Комментарии (51)


  1. addewyd
    14.11.2021 06:15
    +8

    ни разу — перемножать массивы.

    Но в целом, это типичная ситуация: возможность используется не часто или вообще не используется


    numpy, например. Достаточно востребованная операция.


    1. excoder
      14.11.2021 12:04
      +1

      Точно. Векторизация операций на массивах в таких ранних языках – пример изрядной дальновидности.


  1. forthuser
    14.11.2021 08:30

    Интересно, а как Ваш компилятор воспримет
    решённые примеры по PL/I с ресурса rosettacode.org (наверное, в каких то моментах, придётся дорабатывать)

    P.S. https://pl1.su/ — Язык программирования номер один :)

    Интересный тред получился «Не поминайте всуе PL/1» на площадке http://compiler.su (на сайте ещё есть несколько тредов относящихся к PL/1)


    1. Dukarav Автор
      14.11.2021 19:03

      https://habr.com/ru/post/588987/comments/

      вот эта программа как раз и упоминается на одной из веток Розетты - на ветке теста Кнута.


  1. apapacy
    14.11.2021 08:39
    +1

    Работал несколько ко лет на pl/1. Из всех книг легче всего освоить было по книге Пярнпуу. Было на ивц. Асса переходных книг толщиной с краткий курс истории КПСС то есть кирпич. Но у Пярнпуу было как потом возн кла серия для чайников. Доступно, по теме и с практической направленностью. Моменты которые были не освещены в книге смотрел уже в документации по ес эвм. Потом после того как машина ну переплавили на золото нашел на одном из дисков компилятор pl/1 но так уже ничего на нем не написал хотя ностальгические настроения возникли. Кстати о названии тол ко сейчас обратил внимание ibm/360 pl/1 os/2 у ibm своеобразный подход к выбору названий.


    1. Oxyd
      14.11.2021 09:28

      AS/400, PS/1, PS/2, System/36, System/38 и так далее и тому подобное.


  1. MUTbKA98
    14.11.2021 09:12
    +23

    И еще важный момент. Я сторонник использования родного языка в программировании.

    Э... А это не Вы пятью абзацами до этого предложения обвиняли руководство IBM в снобизме и игнорировании проблем переносимости? Не хотите ли поковыряться в исходниках, где все ключевые слова - на китайском, скажем, или арабском?


    1. dimskiy
      14.11.2021 09:48
      +15

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


      1. khim
        14.11.2021 22:44
        +2

        Рискну предположить что мир автора заканчивается ровно на границе рф.

        Хорошо, если так. Скорее всего он заканчивается на проходной, отделющий его отдел от соседних.

        Собственно он и показывает как Роскосмосу удаётся достичь, даже без формального распила и откатов (они, возможно, и есть, но это, при такой организации, и неважно), одновременно двух достижений:

        1. Фантастической стоимости всего, связанного с Роскосмосом.

        2. Чудовищно низких зарплат у большинства работников.

        А всё просто: если объявить, что у нас тут космос, всё супер-пупер уникальное, сделано под заказ и, условно говоря, вытачивать каждый болт на отдельном, созданом конкретно для этого болта станке и писать программы для каждого блока на отдельном, разработанном специально для этого блока, языке программирования… ооо… тут можно освоить любые средства́ и ещё мало будет.

        Прям такой заповедник позднего СССР живой.

        А ты высокомерно стремишься общаться (в широком понимании) на кириллице во имя не пойми чего.

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

        Ну почитайте же Паркинсона, он прекрасно всё описал.


  1. StraNNicK
    14.11.2021 09:33
    +5

    Сначала немного напрягла фраза "И не в какое-нибудь «дежавю» (такие образы этой книги давно есть в сети), а в настоящий .DOCX.", хотел было уточнить -- почему именно docx, почему не fb2, например?

    Ткнул в ссылку для скачивания, а там хорошо свёрстанный pdf. Отлично!


    1. artemisia_borealis
      14.11.2021 12:10

      Мне непонятно, почему не (La)TeX. Это же самое уместное средство для таких применений.
      И pdf отлично свёрстанный со всеми плюшками, да и html…


      1. Mingun
        14.11.2021 13:17
        +4

        В данном случае самое уместное средство — Markdown на гитхабе, возможно с автоконвертацией в статический сайт с хостингом на GitHub Pages.


      1. StraNNicK
        14.11.2021 15:01

        Я хотел про это написать, но вспомнил, что он требует освоения и если человек им постоянно не пользуется, вёрстка может сильно усложниться и затянуться.

        Я в своё время La(TeX) пытался освоить, но на сегодняшний день не стал бы пытаться его использовать без крайней необходимости.


        1. PereslavlFoto
          14.11.2021 17:04
          +1

          \documentclass{article}\usepackage{useful-settings}
          \begin{document}

          \chapter{О проблемах Латеха}

          Скажите пожалуйста, какие трудности возникают при \emph{освоении} Латеха и какие при его \emph{использовании}?

          Прошу вас, назовите для примера хотя бы две.

          \begin{quotation}
          Спасибо!
          \end{quotation}

          \end{document}


          1. StraNNicK
            14.11.2021 17:19
            +6

            Очень простые — его надо осваивать.Ваш пример, который должен иллюстрировать как всё просто, иллюстрирует и это.

            Если говорить про меня — у меня жёсткий недостаток времени и я бы точно не стал тратить его на освоение LaTeX ради вёрстки одной книги.

            P.S. хотя было бы любопытно, конечно, взглянуть — как бы выглядела в LaTeX'е страница 6, например.

            P.P.S. у меня, вероятно, очень устаревшие сведения, но помнится раньше надо было ставить какие-то неочевидные пакеты, подключать что-то в LaTeX для вёрстки в формат А4, в общем, всё было не так просто. Сейчас, вероятно, с этим гораздо проще.


            1. PereslavlFoto
              14.11.2021 17:28
              -1

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

              Про недостаток времени вы правы. В такой ситуации невозможно освоить и Word, который после 2003 года стал очень сложным.


              1. StraNNicK
                14.11.2021 18:10
                +3

                Возможно, но я вот вижу свёрстанную в Word книгу и много рассуждений о том, как было бы просто сверстать её в LaTeX.

                Я снова прошу вас показать — как бы выглядела свёрстанная в LaTeX странца 6 из приведённой выше книги? Ведь это же так просто!


                1. OlegZH
                  14.11.2021 20:11

                  Если у меня появится свободное время, я буду готов попробовать.


                1. motomichael
                  14.11.2021 20:49
                  +5

                  В общем-то несложно, да.

                  https://www.overleaf.com/read/ttbdchmgbrcr

                  На самом деле, никто таким не занимается. В издательствах служебные страницы делают отдельно (тоже не в ворде).

                  Насчет хорошо сверстанного pdf вы погорячились. Но я согласен, что его большое преимущество состоит в том, что он есть.


                  1. StraNNicK
                    15.11.2021 16:23

                    Спасибо за иллюстрацию.
                    Замечательный пример использования LaTeX. Занёс в закладки.


                    1. motomichael
                      15.11.2021 19:44
                      -1

                      Замечательный пример использования LaTeX

                      не по назначению.


                      1. StraNNicK
                        15.11.2021 19:50

                        тем не менее.
                        Все мы понимаем, что я специально выбрал самую неподходящую страницу.
                        я думал, будет сложнее / больше кода.


                      1. PereslavlFoto
                        17.11.2021 02:27

                        Назначение Латеха — вёрстка и издание книг с хорошим научным аппаратом. Раньше бумажных, а теперь электронных.


                      1. motomichael
                        17.11.2021 23:19

                        Так вот обложка, титульный лист, страница с выходными сведениями и реклама в конце книги в этот аппарат не входят. Хотя, конечно, сделать можно все. Вопрос - нужно ли.


                      1. PereslavlFoto
                        17.11.2021 23:23

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

                        Кстати, в Латехе можно посчитать выходные сведения: количество авторских листов, издательских листов и всё прочее.


                      1. motomichael
                        17.11.2021 23:26

                        У меня вопрос: лично вы много книг сделали в латехе? И не в латехе?


                      1. PereslavlFoto
                        17.11.2021 23:30

                        Очень много. Очень. Самый удобный инструмент.

                        А не в Латехе (то есть в индизайне) очень мало.


                      1. motomichael
                        17.11.2021 23:52

                        Он удобный, я же не спорю. Смотря для чего. Например, когда верстали вот это http://www.encyclopedia.ru/cat/books/book/3307/, с гладким текстом, делали в латехе. А когда на основе той же базы делали это https://www.labirint.ru/books/152524/, это https://www.labirint.ru/books/152525/ и еще несколько штук не помню чего, с рисунками в оборку в узких колонках и т.п., сделали вывод не в латех, а в индизайн. Выходные данные, если мне память не изменяет, в том издательстве делали в индизайне всегда.


                      1. PereslavlFoto
                        18.11.2021 00:24

                        Латех нормально делает рисунки в оборку в узких колонках. Так что здесь индизайн был применён зазря.

                        В остальном я просто не понимаю ту ситуацию, о которой вы пишете. Получается, что одну (!) книгу сначала делают в двух (!) программах, разные страницы в разных программах. Потом её каким-то образом соединяют (!) в один макет. Потом этот макет отправляют в типографию и стирают, чтобы его никто не смог разместить в интернете.

                        Всё это выглядит как-то чрезмерно. Неужели число страниц в библиографической карточке записывали вручную? И код ББК в двух местах указывали вручную?


                      1. motomichael
                        18.11.2021 00:32

                        Простите, вы не А.Ю.Ф., часом?


                      1. PereslavlFoto
                        18.11.2021 00:34

                        Это инициалы, да? У меня другие.


                      1. motomichael
                        18.11.2021 00:46

                        Инициалы. Я просто вспомнил одного человека из fido7.ru.tex, он, кажется, тоже из Переславля был. Большой энтузиаст этого дела, но увлекающийся, я бы сказал. Это все было в позапрошлой жизни. С тех пор я программировал промышленных роботов, а потом ПЛИС для астрономических приемников, а издательство забросил вообще за полным неимением спроса.


                      1. motomichael
                        18.11.2021 01:09

                        Получается, что одну (!) книгу сначала делают в двух (!) программах, разные страницы в разных программах. Потом её каким-то образом соединяют (!) в один макет.

                        Acrobat или psutils.

                        Потом этот макет отправляют в типографию и стирают, чтобы его никто не смог разместить в интернете.

                        Что стирают? Где стирают? В случае этих словарей, кстати, главную ценность представляла исходная словарная база. Макет-то в pdf на фиг кому нужен, его же просто так напечатать нельзя, засудят, а информацию из него с разумными затратами не добыть. Грамота.ру, между прочим, некоторые из этих словарей использует - очевидно, легально.

                        Всё это выглядит как-то чрезмерно. Неужели число страниц в библиографической карточке записывали вручную? И код ББК в двух местах указывали вручную?

                        Сверставши 800-2000 полос, не переломились ББК вбить вручную. Тем более, что там еще надо было номер типографского заказа вбивать.

                        Во всех издательствах, где я работал, основной корпус и служебные страницы делали разные люди.


                      1. motomichael
                        18.11.2021 01:17

                        Кстати, как сделать рисунок в оборку, например, в верхнем внешнем углу? Есть такие средства?



                      1. motomichael
                        18.11.2021 02:29

                        Ни один из них не управляет вертикальным положением рисунков. Они ездят вместе с абзацем. Вопрос именно про угол полосы.


          1. dimskiy
            14.11.2021 20:03

            Жесть какая )) А зачем оно нужно когда уже давно есть Markdown?


            1. PereslavlFoto
              14.11.2021 21:49
              +1

              Маркдаун не всё позволяет. Например, в Маркдауне труднее строить справочную навигацию, оформлять вложенные списки кириллицей, делать библиографию, рисунки и диаграммы. В нём трудно делать авторский комментарий к тексту, а ещё труднее делать редакторский комментарий к тексту, отдельный от авторского.

              А вот пример семантической вёрстки на Латехе.

              \begin{habr}
              \glava{Пример семантической вёрстки}
              
              Скажите пожалуйста, какие трудности возникают при освоении \LaTeX{}
              и какие \glavnoe{при его использовании}? Прошу вас, назовите
              для примера хотя бы пять. Оставлю для этих причин место в списке.
              
              \begin{spisok}
              \punkt\punkt\punkt\punkt\punkt
              \end{spisok}
              
              \spasibo{Спасибо!}
              \end{habr}


  1. OlegZH
    14.11.2021 12:04

     Но даже с учетом всех этих обстоятельств, общий тираж изданий книги Фролова и Олюнина велик, он превысил 300 000!

    Я держу в руках книгу Р.Д. Джордейна "СПРАВОЧНИК программиста персональных компьютеров типа IBM PS, XT и AT" (М.: Финансы и статистика, 1992). Читаю: "Доп. тираж 150 000 экз.". И это только дополнительный тираж.

    Потому, что еще Л.Ф. Штернберг (как знаток языка) утверждал, что если создать язык, отличающийся от PL/1 только тем, что из него убраны некоторые возможности, получится язык лучший, чем PL/1.

    Гениально! Убрать, чтобы улучшить. Жалко, что этому совету никто не следует. Ну, или, почти, никто...

    И не в какое-нибудь «дежавю» (такие образы этой книги давно есть в сети), а в настоящий .DOCX

    А почему не \TeX?


  1. Borjomy
    14.11.2021 14:04

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


    1. khim
      14.11.2021 23:55

      Хотя существующие возможности это позволяют.

      Интересно.

      и иметь возможность прозрачно их переводить на другие языки

      Вот с этого момента поподробнее. Возьмём, к примеру, бухгалтерию, где понятия “счёт” и “счёт-фактура” имеют между собой мало общего и, главное, первое понятие существует в англоязычных странах, а второе — отстстует и потому разные переводчики (человеческие, не машинные) его переводят по разному.

      Как ваш прозрачно-переводчик решит эту проблему? Особенно когда особый термин — внутренний для предприятия?


  1. amarao
    14.11.2021 14:31
    +2

    Как показала практика, никакое предположение о том, что нужно, а что не нужно пользователю, не оказывается истиным для всех пользователей. Просто потому, что пользователи разные.

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

    В частности, втаскивание в язык специфичных типов данных и специфичных операций над типами может раздражать остальных пользователей, которым не нужно тензорное произведение трёхмерных матриц комплексных чисел. И раздражает оно их в тот момент, когда во имя этого умножения им либо удваивают рантайм, либо требуют странных выкрутасов в других местах.

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

    Но во времена PL/I говорить про трейты, дженерики и мономорфизацию было бы преждевременно, потому что эти идеи только-только зарождались, а не были мейнстримом.


    1. OlegZH
      14.11.2021 17:08

      Здесь есть один подводный момент. Явное включение определённых элементов непосредственно в синтаксис языка гарантирует прозрачную семантику используемых конструкций. Раньше была в ходу специализация языков программирования, а теперь многие языки программирования излишне унифицированы.


      1. amarao
        14.11.2021 17:42
        +2

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

        Трейты накладывают ограничения на фантазию авторов библиотек, делая использование перегруженных элементов ясным (вместо хождения по минному полю, в котором заранее не понятно, что скрывается за знаком '+').

        Во времена fortran и pl/i такого даже близко не было, так что для выразительности приходилось всё тащить в обязательный рантайм.


        1. OlegZH
          14.11.2021 20:06

          Ладно. В недалёком будущем придётся вернуться к этому. И тогда я опрошу Вас немного подробнее. Не возражаете?


          1. amarao
            14.11.2021 22:02

            NP, хотя "времена фортрана" я знаю поверхностно.


    1. victor_1212
      14.11.2021 17:17

      >Но во времена PL/I говорить про трейты, дженерики и мономорфизацию было бы преждевременно,

      imho, как язык PL/1 производил типа унылое впечатление с момента его появления (как и вся OS/360), в отличии например от идей заложенных в algol-68, или Ada, в историческом плане PL/1 все таки связан с UK (IBM Hursley 1966-68), довольно интересно сравнение PL/1 vs Algol-68, например в статье примерно того времени S.H. Valentine, "Comparative notes on Algol-68 and PL/1", (Staffordshire University UK), легко найти при желании в сети, это к вопросу о "преждевременности"

      ps

      Multics PL/I компилятор (очень грамотная работа с участием GE) был написан чуть позже Hursley Lab, хотя подмножества PL/1 использовались в US примерно с середины 60x в том числе в Bell и MIT


      1. Andy_U
        14.11.2021 18:20

        imho, как язык PL/1 производил типа унылое впечатление с момента его появления (как и вся OS/360), в отличии например от идей заложенных в algol-68, или Ada,

        Угу, только что еще в то время было доступно, кроме OS/360 и чуть позже OS/370 и VM/SP, где кроме ассемблера (кто-нибудь еще помнит правила использования R13, R14 и R15 для вызова/возврата из процедур?), фортрана-60 (с массивами фиксированной на этапе компиляции длины и идиотским if) и PL-1, ничего больше и не было (для научно-технических расчетов).


  1. vinnimix
    14.11.2021 18:27

    Большое спасибо! Если это не разглашение гос-тайны, а где именно могут применяться такие старые языки и для чего именно они на МКС? Интересно.


    1. Dukarav Автор
      14.11.2021 19:11

      Для баллистико-навигационного отображения экипажу полетной обстановки. Правда, это не входит в в систему управления, но нужно экипажу в повседневной деятельности.

      Ну, а по поводу старого языка - а что в этой задаче нужно нового? Монады с ленивыми вычислениями? Так оно здесь не нужно. И перегрузка операторов не нужна.


  1. EskakDolar
    14.11.2021 20:51

    PL1 программировал но как то впечатления не произвел, так - всего лишь фортран для бухгалтерских задач. А вот JCL запомнился. Без него с ЛПМ было работать затруднительно.