Почему?
Я думаю, есть несколько причин.
Может быть, потому, что привычка - вторая натура . На момент появления PL / I FORTRAN существовал уже почти 10 лет. Когда появляется какая-то новая технология / язык, вы можете начать пренебрегать существующей кодовой базой, называя ее устаревшим кодом. Но нет смысла сразу начинать конвертацию. Особенно это было большой проблемой в 70-е годы из-за отсутствия автоматических преобразователей и других инструментов.
Следующая причина может заключаться в том, что не существует серебряной пули . PL / I была попыткой создать такую серебряную пулю - язык общего назначения. Они старались изо всех сил, остальное вы знаете. =) ПЛ / Я был чудовищным языком. Фроу Статья в Википедии :
Программисты резко разделились на научные программисты (которые использовали Fortran) и бизнес-программисты (who б / у КОБОЛ), со значительным натяжением и даже неприязнь между группами. Синтаксис PL / I заимствован из COBOL и синтаксис Fortran. Так что вместо замечая особенности, которые сделают их работа проще, программисты на Фортране того времени заметил синтаксис COBOL и считал, что это бизнес язык, а программисты COBOL заметил синтаксис FORTRAN и посмотрел это как научный язык.
Также «старые люди», такие как FORTRAN, развиваются под угрозой смерти и добавляют такие функции, как структурное программирование, объектная ориентация и т. Д. Это уменьшило относительные преимущества PL / I.
П.С. Также обратите внимание на ту часть уже упомянутой статьи в Википедии.
Я работал с людьми в IBM, которые создавали оптимизирующие компиляторы PL/I и контрольные компиляторы PL/I. Мне нравилось использовать PL/I, но это был классический пример "эффекта второй системы": очень сложный и неуклюжий, хотя и мощный. Представьте себе версию Perl с закрытым исходным кодом, и вы не слишком далеко уйдете. И ключевым здесь является закрытый исходный код. Языкам требуются годы, чтобы закрепиться, и к тому времени, когда PL/I стал стабильным в середине 1970-х годов, вычисления уже смещались от мэйнфреймов к миникомпьютерам. Затем в конце 1980-х годов на смену им пришли микрокомпьютеры. Компиляторы PL/I были не предназначены для переносимости - они были запущены сразу после выхода IBM 360, который должен был стать последним компьютером, который когда-либо был кому-либо нужен, и IBM никак не могла догнать гораздо более простые, более легко переносимые языки на новые платформы. (Не то чтобы я мог представить себе IBM, пытающуюся перенести PL/I на PDP-11.)
Короче говоря,
Мне нравился PL/I, но я не скучаю по нему.