APL (язык программирования)
| Класс языка: | |
|---|---|
| Появился в: |
1964 |
| Автор(ы): | |
| Типизация данных: |
динамическая |
| Основные реализации: |
IBM APL2, Dyalog APL, APL2000, Sharp APL, APLX |
| Диалекты: |
A+, Dyalog APL, APLNext |
| Испытал влияние: |
математическая нотация |
| Повлиял на: |
APL (A Programming Language или, возможно, Array Programming Language) в язык программирования, оптимизированный для работы с массивами, предшественник современных научных вычислительных сред, таких как MATLAB, использует функциональную парадигму программирования.
В своей области применения (физика, математическое моделирование, обработка данных) APL в мощный язык, обладающий кратким и выразительным синтаксисом. Например:
N |
Присвоить массиву 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.
[править] Примечания
- в‘ A Bibliography of APL and J. Jsoftware.com. Архивировано из первоисточника 23 августа 2011. Проверено 3 февраля 2010.
- в‘ Kx Systems - An Interview with Arthur Whitney - Jan 2004. Kx.com (4 января 2004). Архивировано из первоисточника 23 августа 2011. Проверено 3 февраля 2010.
- в‘ 1 2 The Growth of MatLab - Cleve Moler (PDF). Архивировано из первоисточника 23 августа 2011. Проверено 3 февраля 2010.
- в‘ About Q'Nial. Nial.com. Архивировано из первоисточника 23 августа 2011. Проверено 3 февраля 2010.
- в‘ Iverson Kenneth E. A Programming Language. в Wiley, 1962. в ISBN 0471430145
- в‘ Programming notation in systems design K.E. Iverson, IBM Systems Journal, 1963
- в‘ A formal description of SYSTEM/360 A.D. Falkoff, K.E. Iverson and E.H. Sussenguth, IBM Systems Journal 3.3, 1964
- в‘ Abrams, Philip S., An interpreter for «Iverson notation», Technical Report: CS-TR-66-47, Department of Computer Science, Stanford University, August 1966.
- в‘ Larry Breed (August 2006). «How We Got to APL\1130». Vector (British APL Association) 22 (3). ISSN 0955-1433.
- в‘ APL\1130 Manual, May 1969
- в‘ Младшие братья. История самых первых портативных компьютеров
[править] Ссылки
- APL в виртуальном музее Информатики
- Краткая история языка программирования APL
- APL enci
- comp.lang.apl
- SIGAPL Home Page
- Quote-Quad newsletter
[править] Реализации APL
[править] Открытые
- NARS2000 в Современная OpenSource реализация APL для Windows
- Проект OpenAPL на сайте SourceForge.net
[править] Коммерческие
- IBM APL2
- Dyalog APL
- APL2000
- APLNext: APL for .Net(недоступная ссылка)
- MicroAPL Ltd.
| Это заготовка статьи о компьютерных языках. Вы можете помочь проекту, исправив и дополнив её. |
| Основные языки программирования (сравнение IDE история хронология) | |
|---|---|
| Используемые в разработке |
Ада APL Язык ассемблера ActionScript ABAP/4 AutoIt AWK Бейсик Си Кобол C++ C# Cω Clarion Clojure ColdFusion Common Lisp D dBase Delphi Eiffel Erlang Euphoria F# Форт Фортран Gambas Go Groovy HAL/S Haskell Icon Java JavaScript Limbo Lua Object Pascal Objective-C OCaml Oz Parser Паскаль Perl PHP PowerBASIC PureBasic Python ПЛ/1 Пролог Ruby Scala Scheme Smalltalk SQL PL/SQL Tcl Vala Visual Basic (.NET) |
| Академические | |
| IEC 61131-3 | |
| Прочие | |
| Эзотерические | |
| Визуальные | |
4 5 6 7