Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
Язык АПЛ Печать
АПЛ (APL, от А Programming Language - язык программирования), был разработан Кеннетом Айверсоном (Kenneth Iverson), в прошлом профессором Гарвардского университета, который перешел в фирму IBM.

Несмотря на непритязательное название, АПЛ настолько отличается от других языков, что один английский специалист по информатике выразил свое отношение к нему цитатой из Оскара Уайльда: «Я не говорил, что это мне нравится, Гарри. Я сказал, что это пленило меня. А это большая разница».

Возможно, наибольшее отклонение АПЛ от привычного связано с его внешней формой. Язык содержит 95 литер, включающих латинские и греческие буквы, арабские цифры, такие символы, как ромбик и звездочка, и так называемые джоты; основной набор литер дополняется еще примерно 55 дополнительными символами, которые представляют собой комбинации основных литер.

Другое отличие - удивительная компактность языка. Используя АПЛ, можно записать в одну строку или в две функции то, что на других языках потребовало бы целых страниц или экранов, «исписанных» процедурами.

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

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

Возникновение АПЛ относится к концу 50-х годов, когда Айверсон - этот, как он сам себя называл, «ренегат от математики» - вел курс вычислительной математики в Гарварде. Разрабатывая АПЛ, он намеревался создать не язык программирования, а систему обозначений, позволяющую ясно и сжато выражать понятия вычислительной математики, которые он излагал в своих лекциях и книге под названием «Автоматическая обработка данных».

Позже Айверсон пояснял, что его идеи, касающиеся программирования, сформировались под влиянием другого «ренегата от математики», его Гарвардского преподавателя Говард Айкина, гениального инициатора разработки первого гарвардского компьютера Марк-l.

«Хотя склад его ума был скорее теоретическим, - говорил Айверсон об Айкине, - он всегда считал себя инженером. Он характеризовал инженера как человека, который на доллар может сделать то, на что другому потребуется десять, и всегда делал упор на простоту. Мне, как, вероятно, и всем его студентам особенно запомнилось, как всякий раз, выслушав чье-нибудь горячее, но сбивчивое изложение какой-либо идеи, он заявлял: «Я человек простой и этого не понимаю. Может, вы попытаетесь объяснить все попроще?»»

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

Закончив в 1960 г. работу в Гарварде, Айверсон перешел в фирму IBM, в исследовательский центр Томаса Дж. Уотсона в Йорктаун-Хейтсе, шт. Нью-Йорк. Здесь совместно с инженером Эдином Фалкоффом и другими он разработал нестандартный набор литер языка АПЛ и возглавил группу, которая занималась реализацией нового языка на компьютере IBM-360.

Администрация компании относилась к этой работе без особого энтузиазма; в то время руководство придерживалось так называемой «политики одного языка», внедряя PL/I как универсальный язык. Благодушное безразличие администрации пошло на пользу, так как позволило Айверсону и Фалкоффу, спокойно поэкспериментировав, отшлифовать язык.

В 1966 г. программисты IBM, начав использовать новый язык на экспериментальной системе разделения времени, обнаружили, что на нем можно легко и быстро решать сложные задачи. Когда сведения о новом программном средстве распространились за пределами фирмы, ее забросали просьбами открыть АПЛ для широкого применения.

В 1969 г. более 500 человек присутствовало на конференции, посвященной АПЛ, которая проходила в штаб квартире IBM в Армонке, Нью-Йорк. На фирму обрушился такой шквал требований довести АПЛ до потребителей, что участники конференции в дальнейшем называли ее не иначе, как «Демонстрация в Армонке».

Через несколько месяцев IBM неохотно выпустила язык для широкого пользования, но без помпы (и даже без технической поддержки). Тем не менее АПЛ быстро приобрел горячих сторонников среди экономистов и других специалистов. Это был первый язык, для поддержки которого Ассоциация по компьютеризации (ACM) , международное научное и просветительское общество специалистов по информатике, учредило специальную инициативную группу SIG (Special Interest Groups).