Язык программирования, который умер из-за клавиатуры


image

В 80-х APL, разработанный в 1962 году Кеном Айверсоном из IBM, называли одним из самых популярных языков программирования. В те времена в отрасли было очень мало языков программирования.

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

Почему APL был так популярен?


В 80-х APL был известен своей точностью и быстрым решением задач. APL предназначен для того, чтобы помогать людям описывать и изучать процедуры решения задач, в отличие от других языков программирования, заставляющих компьютер самостоятельно работать над получением результатов. Обработка данных была одной из самых эффективных функций языка. APL обладает следующими особенностями:

  • Обработка данных в массивах без сложного программирования
  • Использование мощных встроенных и пользовательских функций, которые могут даже решать матричные задачи.
  • Разбиение задач на мелкие операции и подзадачи для решения задачи в целом.
  • Выполнение большого объёма работы всего в нескольких строках кода. Его сжатый код повышает интерактивность и позволяет обеспечить мгновенную обратную связь о работе программиста.
  • Динамический язык, гибкий и простой в изучении. Начав его исследование, вы можете быстро его освоить и самостоятельно создавать программы.

Причины провала


Главной причиной провала APL был набор символов, предоставляемый языком для того, чтобы повысить специфичность кодов, однако вместо этого лишь усложнявший их. Для ввода кодов необходима расширенная клавиатура со множеством дополнительных нотаций.

В результате этого читать коды APL и работать с ними могли только программисты на APL. Благодаря этому коды становились более уникальными, но это противоречило общемировым тенденциям. То есть если вы изучали APL, это не давало вам преимущества в других языках из-за использования специальных символов и неоднозначных фрагментов кода. Кроме того:

  • Одна строка кода на APL могла выполнять большой объём работы, выражая множество операторов, из-за чего программа становилась менее читаемой и неудобной в сопровождении.
  • APL-разработчики были отделены от остальных разработчиков из-за различий в процедуре работы с другими языками, и им было сложнее переходить в другие сферы деятельности.
  • Разработчики должны писать код в ASCII. В противном случае он не работал. Позже эту проблему решили, однако было уже слишком поздно.
  • APL не может хранить в одной структуре данных одновременно и строки, и числа. Он может работать только с однородными данными, из-за чего работа со строками становилась сложной задачей.

Попытка вернуть былую популярность


В APL постоянно внедрялись инновации, но это не помогало. Инновации APL привели к появлению таких языков, как R, NumPy, pandas, Matlab, Dyalog, K, Q и многих других.

Проблему набора символов и клавиатуры попытались решить в языке J. Также появились новые версии, такие как APL*Plus, SharpApl и т. д. Однако для работы с языком APL требовалось специализированное оборудование, и когда стали популярными разработка ПО, PC и ООП, люди начали переходить на альтернативные языки.

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

Конец истории


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

Наверно, сегодня он актуален, как никогда ранее. По-прежнему существует сообщество APL, преисполненное любовью к этому языку, вне зависимости от того, как к нему относится мир. Сообщество мало, но оно постепенно растёт, пополняясь качественными программистами.

APL — высокопродуктивный язык программирования. С точки зрения производительности он даёт фору многим современным языкам. Его высокоуровневый, структурный, функциональный и механически привлекательный подход делает его отличным языком для работы, для решения задач с нуля. Благодаря адаптируемости, гибкости и простоте APL, от него откажутся ещё не скоро.




Комментарии (0):