<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=APL_%28%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29</id>
	<title>APL (язык программирования) - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=APL_%28%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=APL_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)&amp;action=history"/>
	<updated>2026-07-19T22:28:33Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=APL_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)&amp;diff=14028&amp;oldid=prev</id>
		<title>imported&gt;Lê Lợi (bot): Автодевикификация Шаблон:Языки программирования.</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=APL_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)&amp;diff=14028&amp;oldid=prev"/>
		<updated>2025-12-03T11:39:52Z</updated>

		<summary type="html">&lt;p&gt;Автодевикификация &lt;a href=&quot;/mediawiki/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%AF%D0%B7%D1%8B%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Шаблон:Языки программирования (страница не существует)&quot;&gt;Шаблон:Языки программирования&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Значения|APL}}&lt;br /&gt;
{{Карточка языка программирования&lt;br /&gt;
| name = APL&lt;br /&gt;
| paradigm = [[Векторное программирование|векторный]], [[Функциональное программирование|функциональный]], [[Структурное программирование|структурный]], [[Модульность (программирование)|модульный]]&lt;br /&gt;
| year = 1964&lt;br /&gt;
| designer = [[Кеннет Айверсон]]&lt;br /&gt;
| typing = динамическая&lt;br /&gt;
| standards = ISO8485 (1989), ISO/IEC13751 (2001)&lt;br /&gt;
| implementations = IBM APL2, Dyalog APL, APL2000, Sharp APL, APLX&lt;br /&gt;
| dialects = [[A+ (язык программирования)|A+]], Dyalog APL, APLNext&lt;br /&gt;
| influenced_by = математическая нотация&lt;br /&gt;
| influenced = [[J (язык программирования)|J]],&amp;lt;ref name=&amp;quot;jinsp&amp;quot;&amp;gt;{{cite web|url=http://www.jsoftware.com/jwiki/Essays/Bibliography |title=A Bibliography of APL and J |publisher=Jsoftware.com |date= |access-date=2010-02-03 |archive-url=https://www.webcitation.org/619AJQ2W2?url=http://www.jsoftware.com/jwiki/Essays/Bibliography |archive-date=2011-08-23 }}&amp;lt;/ref&amp;gt; [[K (язык программирования)|K]],&amp;lt;ref name=&amp;quot;kinsp&amp;quot;&amp;gt;{{cite web|url=http://kx.com/Company/press-releases/arthur-interview.php |title=Kx Systems - An Interview with Arthur Whitney - Jan 2004 |publisher=Kx.com |date=2004-01-04 |access-date=2010-02-03 |archive-url=https://www.webcitation.org/619AJwmlG?url=http://kx.com/Company/press-releases/arthur-interview.php |archive-date=2011-08-23 }}&amp;lt;/ref&amp;gt; [[Mathematica]],&amp;lt;ref name=&amp;quot;mworks&amp;quot; /&amp;gt; [[MATLAB]],&amp;lt;ref name=&amp;quot;mworks&amp;quot;&amp;gt;{{cite web|url=http://www.mathworks.com/company/newsletters/news_notes/clevescorner/jan06.pdf |title=The Growth of MatLab - Cleve Moler |format=PDF |date= |access-date=2010-02-03 |archive-url=https://www.webcitation.org/619AKOCYt?url=http://www.mathworks.com/company/newsletters/news_notes/clevescorner/jan06.pdf |archive-date=2011-08-23 }}&amp;lt;/ref&amp;gt; {{нп5|Nial}},&amp;lt;ref name=&amp;quot;qinsp&amp;quot;&amp;gt;{{cite web|url=http://www.nial.com/AboutQNial.html |title=About Q&amp;#039;Nial |publisher=Nial.com |date= |access-date=2010-02-03 |archive-url=https://www.webcitation.org/619AKqN9v?url=http://www.nial.com/AboutQNial.html |archive-date=2011-08-23 }}&amp;lt;/ref&amp;gt; [[Polymorphic Programming Language|PPL]], [[Q (equational programming language)|Q]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;APL&amp;#039;&amp;#039;&amp;#039; (назван по книге &amp;#039;&amp;#039;A Programming Language&amp;#039;&amp;#039;)&amp;lt;ref name=&amp;quot;aplbook&amp;quot;&amp;gt;{{Cite web |url=http://www.softwarepreservation.org/projects/apl/book/APROGRAMMING%20LANGUAGE/view |title=Архивированная копия |access-date=2010-10-30 |archive-date=2009-06-04 |archive-url=https://web.archive.org/web/20090604091725/http://www.softwarepreservation.org/projects/apl/book/APROGRAMMING%20LANGUAGE/view |url-status=unfit }}{{Cite web |url=http://www.softwarepreservation.org/projects/apl/book/APROGRAMMING%20LANGUAGE/view |title=Архивированная копия |access-date=2010-10-30 |archive-date=2009-06-04 |archive-url=https://web.archive.org/web/20090604091725/http://www.softwarepreservation.org/projects/apl/book/APROGRAMMING%20LANGUAGE/view |url-status=dead }}&amp;lt;/ref&amp;gt; — [[язык программирования]], оптимизированный для работы с [[массив (программирование)|массивами]], предшественник современных научных вычислительных сред, таких как [[MATLAB]], использует [[функциональное программирование|функциональную парадигму программирования]].&lt;br /&gt;
&lt;br /&gt;
[[Файл:APL-keybd2.svg|thumb|350px|Клавиатура APL со специальными символами]]&lt;br /&gt;
&lt;br /&gt;
В своей области применения (физика, [[математическое моделирование]], обработка данных) APL — мощный язык, обладающий кратким и выразительным синтаксисом. Например:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;code&amp;gt;N ← 4 5 6 7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Присвоить массиву N значения 4 5 6 7.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;N+4&amp;lt;/code&amp;gt;&lt;br /&gt;
| Увеличить значения массива N на 4, и напечатать его. Результат для предыдущего массива будет: 8 9 10 11.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+/N&amp;lt;/code&amp;gt;&lt;br /&gt;
| Напечатать сумму элементов массива N, то есть 22.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Большое количество специальных символов в синтаксисе APL, [[функциональное программирование|функциональный стиль]] и краткие [[Математическая нотация|нотации]] (большинство операций обозначается 1—2 символами специального алфавита) делает программы на APL крайне непонятными для непосвящённых. При этом некоторые знаки — ключевые слова языка вышли за пределы собственно APL и употребляются в научных текстах по математике и информатике (см. [[Символы Айверсона]], [[скобка Айверсона]]).&lt;br /&gt;
&lt;br /&gt;
== История ==&lt;br /&gt;
Язык APL был разработан [[Айверсон, Кеннет|Кеном Айверсоном]], преподававшим тогда в [[Гарвардский университет|Гарвардском университете]], в качестве системы обозначений для описания вычислений. В 1957 вышла его книга &amp;#039;&amp;#039;«A Program Language»&amp;#039;&amp;#039;&amp;lt;ref name=&amp;quot;aplbook&amp;quot; /&amp;gt;, в которой эта нотация была описана. В 1960 году Айверсон продолжал работу над APL в [[IBM]]. Здесь этот язык использовался для описания машинной архитектуры.&amp;lt;ref&amp;gt;{{Cite web |url=http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5388519 |title=Programming notation in systems design K.E. Iverson, IBM Systems Journal, 1963 |access-date=2010-10-30 |archive-date=2014-12-24 |archive-url=https://web.archive.org/web/20141224214745/http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5388519 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |url=http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5388512 |title=A formal description of SYSTEM/360 A.D. Falkoff, K.E. Iverson and E.H. Sussenguth, IBM Systems Journal 3.3, 1964 |access-date=2010-10-30 |archive-date=2014-12-24 |archive-url=https://web.archive.org/web/20141224205609/http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5388512 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Первой попыткой реализации APL был написанный для [[IBM 7090]] на [[Фортран]]е в 1965 году [[интерпретатор]] IVSYS.&amp;lt;ref&amp;gt;Abrams, Philip S., [http://infolab.stanford.edu/TR/CS-TR-66-47.html &amp;#039;&amp;#039;An interpreter for «Iverson notation»&amp;#039;&amp;#039;] {{Wayback|url=http://infolab.stanford.edu/TR/CS-TR-66-47.html |date=20101216161834 }}, Technical Report: CS-TR-66-47, Department of Computer Science, Stanford University, August 1966.&amp;lt;/ref&amp;gt; Однако, в нём ещё не использовался набор APL-символов, они заменялись ключевыми словами на английском языке. Годом позже этот интерпретатор был портирован на [[IBM/360]]. В том же 1966 году APL впервые реализован с использованием специализированного терминала на базе {{нп3|IBM 1050}} и печатающего устройства с соответствующей сменной печатной головкой. В 1967 году IBM выпускает на рынок реализацию APL для {{нп3|IBM 1130}}, известную как APL\1130.&amp;lt;ref&amp;gt;{{статья |ссылка=http://www.vector.org.uk/archive/v223/APL_1130.htm |заглавие=How We Got to APL\1130 |издание=Vector (British APL Association) |том=22 |номер=3 |id={{ISSN|0955-1433}} |язык= |автор={{Нп3|Larry Breed|Larry Breed||Larry Breed}} |месяц=8 |год=2006 |archive-url=https://web.archive.org/web/20080512031437/http://www.vector.org.uk/archive/v223/APL_1130.htm |archive-date=2008-05-12 }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://bitsavers.org/pdf/ibm/1130/lang/1130-03.3.001_APL_1130_May69.pdf APL\1130 Manual] {{Wayback|url=http://bitsavers.org/pdf/ibm/1130/lang/1130-03.3.001_APL_1130_May69.pdf |date=20110221034650 }}, May 1969&amp;lt;/ref&amp;gt;. Вследствие краткости выражений на APL у этого языка появились немногочисленные, но преданные сторонники, которые гордились тем, что легко разрабатывали сложные программы.&lt;br /&gt;
&lt;br /&gt;
APL был микропрограммно реализован для портативного компьютера [[IBM 5100]], выпускавшегося в 1973—1982 годах, который иногда называют «первым персональным компьютером». На работу с APL был ориентирован и один из первых [[ноутбук]]ов — выпущенный в 1985 году {{нп4|Ampere WS-1||sr|Ampere WS 1}}&amp;lt;ref&amp;gt;{{Cite web |url=http://www.3dnews.ru/mobile/notebooks_70-80th |title=Младшие братья. История самых первых портативных компьютеров |access-date=2010-10-30 |archive-date=2010-10-13 |archive-url=https://web.archive.org/web/20101013115207/http://www.3dnews.ru/mobile/notebooks_70-80th |url-status=live }}&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
В [[ВЦ АН СССР]] в начале 80-х годов было разработано оригинальное программное обеспечение для работы с APL на мини-ЭВМ серии СМ-4, СМ-1420 и микро-ЭВМ [[Электроника-60]], [[Диалоговый вычислительный комплекс|ДВК]], Электроника-85. Разработчик — А. В. Кондрашев. В состав комплекса входили: программный интерпретатор языка APL; микросхемы знакогенератора для поддержки APL-символов на наиболее популярных алфавитно-цифровых мониторах; версия интерпретатора на плате ППЗУ для Электроники-60 и ДВК. Поддерживалась работа с графическими мониторами и графопостроителями, а также использование дисков и принтеров центральной мини-ЭВМ. Наряду с традиционным использованием APL-систем в системах анализа данных, в СССР также разрабатывались программно-аппаратные комплексы для использования в промышленности и атомной энергетике.&lt;br /&gt;
&lt;br /&gt;
В настоящее время язык APL поддерживается практически на всех аппаратных платформах от рабочих станций до наладонных компьютеров. По языку ежегодно проводятся конференции в рамках Association for Computer Machinery ([[ACM]]). Дальнейшим развитием APL являются языки [[J (язык программирования)|J]] и [[K (язык программирования)|K]].&lt;br /&gt;
&lt;br /&gt;
== Реализации APL ==&lt;br /&gt;
&lt;br /&gt;
=== Открытые ===&lt;br /&gt;
* [http://www.gnu.org/software/apl/ GNU APL]&lt;br /&gt;
* {{sourceforge|openapl|OpenAPL}}&lt;br /&gt;
* [http://www.nars2000.org/ NARS2000] — современная OpenSource-реализация APL для Windows&lt;br /&gt;
&lt;br /&gt;
=== Коммерческие ===&lt;br /&gt;
* [https://web.archive.org/web/20080804110109/http://www-306.ibm.com/software/awdtools/apl/ IBM APL2]&lt;br /&gt;
* [http://www.dyalog.com/ Dyalog APL]&lt;br /&gt;
* [http://www.apl2000.com/ APL2000]&lt;br /&gt;
* [https://web.archive.org/web/20090209221743/http://www.aplnext.com/ APLNext: APL for .Net]&lt;br /&gt;
* [http://www.microapl.co.uk/apl/index.html MicroAPL Ltd.]&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
==== Hello, world ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apl&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;Hello, world&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Поиск простых чисел от 1 до R ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apl&amp;quot;&amp;gt;&lt;br /&gt;
(~R∊R∘.×R)/R←1↓⍳R&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Сортировка ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apl&amp;quot;&amp;gt;&lt;br /&gt;
X[⍋X+.≠&amp;#039; &amp;#039;;]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [[Игра «Жизнь»]] ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apl&amp;quot;&amp;gt;&lt;br /&gt;
life ← {⊃1 ⍵ ∨.∧ 3 4 = +/ +⌿ ¯1 0 1 ∘.⊖ ¯1 0 1 ⌽¨ ⊂⍵}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Удаление тегов HTML ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apl&amp;quot;&amp;gt;&lt;br /&gt;
      txt←&amp;#039;&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;p&amp;gt;This is &amp;lt;em&amp;gt;emphasized&amp;lt;/em&amp;gt; text.&amp;lt;/p&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;#039;&lt;br /&gt;
      {⍵ /⍨ ~{⍵∨≠\⍵}⍵∊&amp;#039;&amp;lt;&amp;gt;&amp;#039;} txt&lt;br /&gt;
This is emphasized text.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{примечания|2}}&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* {{книга|автор=Магариу Н. А.|заглавие=Язык программирования АПЛ|издательство=«Радио и связь»|год=1983|место=М.|страниц=96|ref=Магариу}}&lt;br /&gt;
* [http://www.math.uwaterloo.ca/~ljdickey/apl-rep/docs/is13751.pdf ISO standard 13751] Programming Language APL, Extended&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [https://web.archive.org/web/20060507075544/http://schools.keldysh.ru/sch444/MUSEUM/LANR/apl.htm APL в виртуальном музее Информатики]&lt;br /&gt;
* [http://chernykh.net/content/view/216/229/ Краткая история языка программирования APL]&lt;br /&gt;
* [http://aplwiki.com/ APL Wiki]&lt;br /&gt;
* [http://groups.google.com/group/comp.lang.apl/topics comp.lang.apl]&lt;br /&gt;
* [http://www.sigapl.org/ SIGAPL Home Page]&lt;br /&gt;
* [https://web.archive.org/web/20120209090113/http://www.sigapl.org/qq.htm Quote-Quad newsletter]&lt;br /&gt;
&lt;br /&gt;
{{перевести|en|APL (programming language)}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Языки программирования платформы .NET]]&lt;br /&gt;
[[Категория:Математическое моделирование]]&lt;br /&gt;
[[Категория:Командные оболочки]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Lê Lợi (bot)</name></author>
	</entry>
</feed>