Языки программирования постоянно развиваются, и их жизненный цикл включает в себя: популярность, рост и упадок. Причины их упадка варьируются от устаревших принципов до новых, более эффективных языков, набирающих популярность. Вот 10 языков, которые когда-то пользовались популярностью в расцвете сил, но были преданы забвению в 21 веке.
В 1960 году организация CODASYL сыграла значительную роль в разработке COBOL, языка программирования, на который повлияло разделение между бизнес- и научными вычислениями. В течение этого времени языки высокого уровня в отрасли использовались либо для инженерных расчетов, либо для управления данными. COBOL, считающийся одним из четырех основополагающих языков программирования наряду с ALGOL, FORTRAN и LISP, когда-то был наиболее широко используемым языком во всем мире. Он продолжает эксплуатировать многие из наших устаревших бизнес-систем.
Причина смерти: Два фактора способствовали упадку COBOL. Во-первых, он имел минимальные связи с другими разработками в области языков программирования. Очень немногие разработчики использовали COBOL, что привело к ограничению его влияния на языки второго или третьего поколения, которые извлекли выгоду из уроков, извлеченных из их предшественников. COBOL исключительно сложен даже по сегодняшним стандартам. Следовательно, компиляторы COBOL отстали от современных микрокомпьютеров и мини компьютерных систем, предоставив другим языкам возможность развиваться и в конечном итоге превзойти себя.
В 1960 году комитет по АЛГОЛУ поставил своей целью создать язык для исследования алгоритмов, причем АЛГОЛ-58 предшествовал АЛГОЛУ-60 и быстро был заменен им. Несмотря на то, что сегодня АЛГОЛ относительно менее известен по сравнению с LISP, COBOL и FORTRAN, он имеет значительное значение, уступая только LISP, среди четырех оригинальных языков программирования. Это способствовало определению лексической области, структурированному программированию, вложенным функциям, спецификациям формального языка, семантике вызова по имени, грамматикам BNF и комментариям к блокам.
Причина смерти: АЛГОЛ был в первую очередь исследовательским языком, не предназначенным для коммерческого использования. В его спецификации отсутствовали возможности ввода-вывода, что затрудняло практическое применение. В результате в 1960-х и 1970-х годах появилось множество алгол подобных языков. Последующие языки были основаны на этих расширениях, а не на самом АЛГОЛЕ. В 1960-х и 1970-х годах появилось множество алгол подобных языков, поскольку люди расширили АЛГОЛ возможностями ввода/вывода и дополнительными структурами данных. Примерами таких языков являются JOVIAL, SIMULA, CLU и CPL. Потомки АЛГОЛА в конечном счете затмили и обогнали его по популярности и использованию.
APL была создана Кеном Айверсоном в 1962 году. Первоначально разработанный как рукописная нотация для математики массивов, IBM приняла его в качестве языка программирования. APL сосредоточилась на обработке массивов, что позволяет быстро манипулировать большими блоками чисел. Он приобрел популярность на мэйнфреймах благодаря своей способности работать с минимальными требованиями к памяти.
APL произвела революцию в обработке массивов, внедрив концепцию одновременной работы со всеми массивами. Его влияние распространяется на современную науку о данных и смежные области, а его инновации вдохновляют на разработку таких языков, как R, NumPy, pandas и Matlab. У APL также есть прямые потомки, такие как J, Dyalog, K и Q, которые, хотя и менее успешны, все еще находят широкое применение в финансовом секторе.
Причина смерти: APL столкнулась с проблемами из-за ограничений клавиатуры. Символы языка, отличные от ASCII, затрудняли его широкое внедрение. Кен Айверсон обратился к этой проблеме в 1990 году с помощью J, в котором использовались орграфы вместо отдельных символов. Однако это изменение произошло относительно поздно и не получило существенного распространения в популяризации радикально отличающегося стиля программирования. Другой проблемой было ограничение APL на однородные данные, поскольку оно не поддерживало хранение как строк, так и чисел в одной и той же структуре данных. Работа со строками также была громоздкой в APL. Эти ограничения, включая отсутствие фреймворков данных, препятствовали пригодности APL для современных приложений в области обработки данных.
Созданный Джоном Кемени в 1964 году, BASIC возник как упрощенный язык, подобный ФОРТРАНУ, предназначенный для того, чтобы сделать компьютерное программирование доступным для людей, не являющихся инженерами. BASIC мог быть компактно скомпилирован всего в 2 килобайта памяти и стал языком общения для начинающих программистов. В 1970-х годах он широко использовался отдельными людьми, программировавшими дома.
Его основное техническое влияние заключалось в интерпретации во время выполнения. Это был первый язык с переводчиком в режиме реального времени, опередивший APL на год.
Причина смерти: BASIC столкнулся с восприятием как “меньшего” языка по сравнению с другими языками программирования, используемыми профессиональными программистами. Хотя им продолжали пользоваться дети и владельцы малого бизнеса, он не считался предпочтительным языком для опытных программистов. По мере того как становились доступны микрокомпьютеры с большим объемом памяти, BASIC постепенно вытеснялся такими языками, как Pascal и C. Некоторое время BASIC сохранялся в качестве унаследованного языка обучения для детей, но в конечном итоге исчез и из этой ниши.
Разработанный IBM в 1966 году, PL/I был нацелен на создание языка, подходящего как для инженерных, так и для деловых целей. Бизнес IBM ранее был разделен между FORTRAN для ученых и COMTRAN для бизнес-пользователей. PL/I объединил возможности этих двух языков, в результате чего получился язык, поддерживающий широкий спектр приложений.
PL/I реализовала структурированные данные как тип, что в то время было новой концепцией. Это был первый язык высокого уровня, который включал указатели для прямого манипулирования памятью, константы и перегрузку функций. Многие из этих идей повлияли на последующие языки программирования, включая C, который был заимствован как из BCPL, так и из PL/I. Примечательно, что синтаксис комментариев PL/I также используется в C.
Причина смерти: PL/I столкнулась с трудностями, пытаясь преодолеть грань между FORTRAN и COBOL. Многие программисты на FORTRAN считали его слишком похожим на COBOL, в то время как программисты на COBOL считали его слишком похожим на FORTRAN. Попытка IBM конкурировать с двумя устоявшимися языками, используя более сложный язык, сдерживала более широкое внедрение. Более того, IBM владела единственным компилятором для PL/I, что привело к недоверию со стороны потенциальных пользователей, обеспокоенных зависимостью от поставщика. К тому времени, когда IBM занялась этими проблемами, компьютерный мир уже перешел в эру микрокомпьютеров, где BASIC опередил PL/I.
Оле Даль и Кристен Найгаард разработали SIMULA 67 в 1967 году как расширение ALGOL для моделирования. SIMULA 67, хотя и не был первым языком объектно-ориентированного программирования (ООП), ввел соответствующие объекты и заложил основу для будущих разработок. Он популяризировал такие концепции, как разделение классов и объектов, подклассы, виртуальные методы и защищенные атрибуты.
Причина смерти: SIMULA столкнулась с проблемами производительности, поскольку была слишком медленной для крупномасштабного использования. Его скорость была особенно ограничена мэйнфреймами, что создавало трудности для более широкого внедрения. Стоит отметить, что Smalltalk-80, который еще больше расширил идеи SIMULA, получил преимущество благодаря достижениям закона Мура за дополнительные 13 лет. Даже Smalltalk часто критиковали за его скорость. В результате идеи SIMULA были интегрированы другими разработчиками в более быстрые и простые языки, и эти языки приобрели более широкую популярность.
Никлаус Вирт создал Pascal в 1970 году, чтобы передать суть ALGOL-60 после того, как ALGOL-68 стал слишком сложным. Паскаль приобрел известность как вводный язык в информатике и стал вторым по популярности языком на досках объявлений о вакансиях Usenet в начале 1980-х годов.
Паскаль популяризировал синтаксис АЛГОЛА за пределами академических кругов, что привело к тому, что синтаксис присваивания АЛГОЛА, “:=”, получил название “Стиль Паскаля”.
Причина смерти: Упадок Pascal сложен и не имеет четкого объяснения, как у некоторых других языков. В то время как некоторые связывают его упадок с эссе Эдсгера Дейкстры "Почему Паскаль - не мой любимый язык", это объяснение чрезмерно упрощает ситуацию. Pascal действительно сталкивался с конкуренцией со стороны таких языков, как C, но ему удавалось удерживать свои позиции в течение значительного периода времени. Стоит отметить, что Delphi, вариант Pascal, по-прежнему занимает хорошие позиции в измерениях TIOBE и PYPA, что указывает на то, что он продолжает существовать в определенных нишах.
CLU был разработан Барбарой Лисков в 1975 году с основной целью изучения абстрактных типов данных. Несмотря на относительную неизвестность, CLU является одним из самых влиятельных языков с точки зрения идей и концепций. CLU представил несколько концепций, которые широко используются сегодня, включая итераторы, абстрактные типы данных, обобщения и проверяемые исключения. Хотя эти идеи не могут быть напрямую приписаны CLU из-за различий в терминологии, их происхождение можно проследить до влияния CLU. Многие последующие языковые спецификации ссылались на CLU при их разработке.
Причина смерти: CLU служил демонстрационным языком, причем основной целью Лискова было внедрение ее идей, а не самого языка. Эта цель была в значительной степени достигнута, поскольку почти все современные языки программирования включают элементы, вдохновленные CLU.
Робин Милнер разработал ML в 1976 году, работая над LCF Prover, одним из первых помощников по проверке. Первоначально разработанный как метаязык для написания доказательств в удобном математическом формате, ML со временем превратился в самостоятельный язык программирования.
Он считается одним из старейших “алгебраических языков программирования”. Наиболее заметным нововведением ML был вывод типов, позволяющий компилятору автоматически выводить типы, освобождая программистов от их явного указания. Это достижение проложило путь к внедрению типизированного функционального программирования в реальных приложениях.
Причина смерти: ML изначально служил специализированным языком для разработчиков теорем, что ограничивало его более широкое использование. Хотя SML появился в том же году, что и Haskell, который представлял собой пример более “чистого” типизированного функционального языка программирования, более широкое сообщество программистов уделяло Haskell больше внимания. Влияние ML и его внедрение оставались значительными в академических и исследовательских кругах, но не достигли такого же уровня популярности, как некоторые другие языки.
Smalltalk, разработанный Аланом Кеем, со временем выпустил несколько версий. Каждая версия основана на предыдущей, причем Smalltalk-80 является наиболее широко распространенной и влиятельной. Его часто рассматривают как язык, популяризировавший концепцию объектно-ориентированного программирования (ООП). Хотя Smalltalk и не был первым языком с объектами, он был первым языком, где все, включая логические значения, рассматривалось как объект. Его влияние можно увидеть в разработке последующих языков ООП, таких как Java и Python.
Причина смерти: Smalltalk столкнулся с проблемами, связанными с совместимостью с другими инструментами и производительностью среды выполнения. Его сложность в интеграции с существующими системами и относительно более низкая скорость выполнения препятствовали более широкому внедрению. Его упадок можно объяснить появлением Java, которая имела более плавное взаимодействие с существующими системами и приобрела ошеломляющую популярность. Наследие Smalltalk продолжает жить в принципах и шаблонах проектирования, которые стали неотъемлемой частью современной разработки программного обеспечения.
Подписывайтесь на наш telegram:
Чат BP - Проводник в мир IT Chat
- обсуждение тем про информационные технологии, BIM, программирование и САПР.
- онлайн трансляции по курсам, розыгрыши призов!
- не пропускайте новые статьи, новости, обзоры, которые выходят на www.bim-portal.ru
- бесплатные вебинары по курсам www.bim-portal.ru/obuchenie