АПЛ (язык программирования)

АПЛ (язык программирования)
APL
Класс языка:

векторный, функциональный, структурный, модульный

Появился в:

1964 г.

Автор(ы):

Кеннет Айверсон

Типизация данных:

динамическая

Основные реализации:

IBM APL2, Dyalog APL, APL2000, Sharp APL, APLX

Диалекты:

A+, Dyalog APL, APLNext

Испытал влияние:

математическая нотация

Повлиял на:

J,[1] K,[2] Mathematica,[3] MATLAB,[3] Nial,[4] PPL, Q

APL (A Programming Language или, возможно, Array Programming Language) — язык программирования, оптимизированный для работы с массивами, предшественник современных научных вычислительных сред, таких как MATLAB, использует функциональную парадигму программирования.

Клавиатура APL со специальными символами

В своей области применения (физика, математическое моделирование, обработка данных) APL — мощный язык, обладающий кратким и выразительным синтаксисом. Например:

N\leftarrow4 5 6 7 Присвоить массиву N значения 4 5 6 7.
N+4 Напечатать значения массива N, увеличенные на 4, то есть 8 9 10 11.
+/N Напечатать сумму элементов массива N, то есть 22.

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

Содержание

История

Язык APL был разработан Кеном Иверсоном (преподавашим тогда в Гарвардском университете), как система обозначений для описания вычислений. В 1957 выходит его книга «A Program Language»,[5] в которой эта нотация была описана. В 1960 Айверсон продолжает работу над APL в IBM. Здесь этот язык использовался для описания машинной архитектуры.[6][7]

Первой попыткой реализации APL был написанный для IBM 7090 на фортране в 1965 году интерпретатор IVSYS.[8] Однако, в нём ещё не использовался набор APL-символов, они заменялись ключевыми словами на английском языке. Годом позже этот интерпретатор был портирован на IBM/360. В том же 1966 году APL впервые реализован с использованием специализированного терминала на базе IBM 1050 и печатающего устройства с соответствующей сменной печатной головкой. В 1967 году IBM выпускает на рынок реализацию APL для IBM 1130, известную как APL\1130.[9][10]. Вследствие краткости выражений на APL, у этого языка появились немногочисленные, но преданные сторонники, которые гордились тем, что легко разрабатывали сложные программы.

APL был микропрограммно реализован для портативного компьютера IBM 5100, выпускаемого в 1973-1982 гг, который иногда называют «первым персональным компьютером». На работу с APL был ориентирован и один из первых ноутбуков — выпущенный в 1985 Ampere WS-1[11].

В ВЦ АН СССР в начале 80-х годов был разработано оригинальное программное обеспечение для работы с APL на мини-ЭВМ серии СМ-4, СМ-1420 и и микро-ЭВМ Электроника-60, ДВК, Электроника-85. Разработчик А. В. Кондрашев. В состав комплекса входили: программный интерпретатор языка АПЛ; микросхемы знакогенератора для поддержки APL-символов на наиболее популярных алфавитно-цифровых мониторах; версия интерпретатора на плате ППЗУ для Электроника-60 и ДВК. Поддерживалась работа с графическими мониторами и графопостроителями, а также использование дисков и принтеров центральной мини-ЭВМ. Наряду с традиционным использованием APL-систем в системах анализа данных, в СССР также разрабатывались программно-аппаратные комплексы для использования в промышленности и атомной энергетике.

В настоящее время язык APL поддерживается практически на всех аппаратных платформах от рабочих станций до наладонных компьютеров. По языку ежегодно проводятся конференции в рамках Association for Computer Machinery (ACM). Дальнейшим развитием APL являются языки J и K.

Примечания

  1. A Bibliography of APL and J. Jsoftware.com. Архивировано из первоисточника 23 августа 2011. Проверено 3 февраля 2010.
  2. Kx Systems - An Interview with Arthur Whitney - Jan 2004. Kx.com (4 января 2004). Архивировано из первоисточника 23 августа 2011. Проверено 3 февраля 2010.
  3. 1 2 The Growth of MatLab - Cleve Moler (PDF). Архивировано из первоисточника 23 августа 2011. Проверено 3 февраля 2010.
  4. About Q'Nial. Nial.com. Архивировано из первоисточника 23 августа 2011. Проверено 3 февраля 2010.
  5. Iverson Kenneth E. A Programming Language — Wiley, 1962. — ISBN 0471430145.
  6. Programming notation in systems design K.E. Iverson, IBM Systems Journal, 1963
  7. A formal description of SYSTEM/360 A.D. Falkoff, K.E. Iverson and E.H. Sussenguth, IBM Systems Journal 3.3, 1964
  8. Abrams, Philip S., An interpreter for "Iverson notation", Technical Report: CS-TR-66-47, Department of Computer Science, Stanford University, August 1966.
  9. Larry Breed (August 2006). «How We Got to APL\1130». Vector (British APL Association) 22 (3). ISSN 0955-1433.
  10. APL\1130 Manual, May 1969
  11. Младшие братья. История самых первых портативных компьютеров

Ссылки

Реализации APL

Открытые
Коммерческие

Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "АПЛ (язык программирования)" в других словарях:

  • Язык программирования Си — Си Семантика: процедурный Тип исполнения: компилируемый Появился в: 1969 73 г. Автор(ы): Кен Томпсон, Денис Ритчи Типизация данных: статическая Основные реализации …   Википедия

  • Язык программирования C — Си Семантика: процедурный Тип исполнения: компилируемый Появился в: 1969 73 г. Автор(ы): Кен Томпсон, Денис Ритчи Типизация данных: статическая Основные реализации …   Википедия

  • Язык программирования Рубин — Ruby Семантика: мультипарадигмальный Тип исполнения: интерпретатор Появился в: 1995 г. Автор(ы): Юкихиро Мацумото Последняя версия: 1.9.1 …   Википедия

  • Язык программирования Java — Java Класс языка: объектно ориентированный, структурный, императивный Появился в: 1995 г. Автор(ы): Sun Microsystems Последняя версия: Java Standard Edition 6 (1.6.14) Т …   Википедия

  • Язык программирования Dylan — Dylan  динамический объектно ориентированный язык программирования, нацеленный на быструю разработку программ, разработанный, прежде всего, усилиями множественное наследование, полиморфизм и многие другие функции. Язык общего назначения,… …   Википедия

  • Occam (язык программирования) — Язык программирования Оккам (англ. Occam) это процедурный язык параллельного программирования высокого уровня, разработанный в начале 80 х годов группой учёных из Оксфорда под руководством Дэвида Мэя (англ. David May) по заданию английской… …   Википедия

  • J (язык программирования) — Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей …   Википедия

  • Forth (язык программирования) — Forth Семантика: императивный Тип исполнения: интерпретатор/компилятор Появился в: 1971 г. Автор(ы): Чарльз Х. Мур Основные реализации: gForth, pForth, kForth, SP Forth, win32forth …   Википедия

  • APL (язык программирования) — У этого термина существуют и другие значения, см. APL. APL Класс языка: векторный, функциональный, структурный, модульный Появился в: 1964 Автор(ы): Кеннет Айверсон Типизация данных: динам …   Википедия

  • Форт (язык программирования) — У этого термина существуют и другие значения, см. Форт (значения). Forth Семантика: императивный Тип исполнения: интерпретатор/компилятор Появился в: 1971 Автор(ы): Чарльз Х. Мур Основные реализации …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»