Здравствуйте, LaptevVV, Вы писали:
LVV>Не такой уж он и сложный был. По-любому С++ templates будет намного сложнее всего PL/1.
Я тоже считаю, что сложность PL/1 – это миф. Например, классическое описание языка от IBM GC33-0009-4 File No. S360/S370-29 (1976 года). Аж 560 страниц, да еще в две колонки. Казалось бы, очень много. Но уже со 150 страницы идет всякая RECORD-ORIENTED TRANSMISSION, ENVIRONMENT Attribute.
Далее со страницы 227 CHAPTER 15: EXECUTION-TIME FACILITIES OF THE CHECKOUT COMPILER. Т.е. эта вся работа с ОС, отладка, советы по оптимизации и т.п. А само описание языка компактно, как и у других, почти такое же по объему. Да вот пример из личных наблюдений:
Пришел к нам молодой специалист. В программировании ноль, никакой практики. Поскольку у нас большая часть на PL/1 дали ему разработать небольшую программу обработки текстов. На основе встроенной INDEX – поиск образца в строке. Парень толковый, быстро сообразил, заработало. На следующий день с вопросом: а вот мне надо не с первого символа искать. А я ему: а в INDEX есть третий необязательный параметр, по умолчанию – единица. Все, понял. На следующий день: а вот мне надо с конца строки теперь искать. А я ему: а вот если третий параметр INDEX отрицательный…
Он: все, понял. Это я к чему. Рассказал бы я ему сразу о куче всяких финтифлюшек языка и осталось бы в голове только то, что всего много и все сложно. А так – постепенно и сразу ясно на конкретном примере для чего так сделано. И сразу понимание, а значит и ощущение, что ничего сложного и нет.