APL語言

APL
编程范型阵列函数式结构化模块化
設計者Kenneth E. Iverson
實作者Larry Breed英语Lawrence M. BreedDick Lathwell英语Richard H. LathwellRoger Moore英语Roger Moore (computer scientist)等人
发行时间1966年11月27日,​58年前​(1966-11-27[1]
型態系統动态类型
系统平台跨平台
許可證专有开源
主要實作產品
  • APL\360
  • APL\1130
  • APL*Plus
  • Sharp APL
  • APL2
  • Dyalog APL
  • NARS2000
  • APLX英语APLX
  • GNU APL
啟發語言
数学表示法
影響語言

APLA Programming LanguageArray Processing Language 的缩写。肯尼斯·艾佛森在1962年设计这个语言时他正在哈佛大学工作,1979年他因对数学表达式编程语言理论的贡献而得到图灵奖。在过去数十年的使用历史中,APL 从它的原始版本开始不断改变和发展,今天的版本与1963年发表时的版本已经非常不一样了。但它始终是一种解释执行的计算机语言。现代的 APL 版本支持其初始版本不支持的结构和模式编程。APL 至今依然使用一种非标准化的字母表,这一直是他人对 APL 的批评。

概述

在许多应用场合下(数学、科学、工程技术、电脑设计、机器人、数据显示、保险技术、传统的数据处理等等),APL是一种非常有力的、表达丰富的和简明的编程语言。它一般被用在一个与用户接口的环境中。它最初的设计目的是将数学公式写成一种电脑可以理解的方式。学它一般很容易,但要分析 APL 写成的程序往往需要一段时间。与传统的结构式编程语言不同的是,APL 的程序一般由一系列使用在序列上的单元的或双元的函数或运算符号组成。由于APL拥有许多非标准的运算符号,这些符号之间没有优先性(比如一般数学中的乘号、除号较加号、减号有优先权,APL中没有这样的优先权)。最初的APL语言没有任何控制结构如循环(do-while)或者条件选择(if-then-else),但一些序列运算符号可以用来模拟编程结构,比如iota(用来获得一个从1至N的序列)可以用来模拟循环(for)。

APL 的工作环境被称为工作场。在这个工作场内用户可以定义程序和数据。数据也可以在工作场在程序外存在。用户可以在程序外改变数据,比如:

将一个系列的数据4、5、6、7授予N。

输出8、9、10、11。

输出N内所有数的和,即22。

用户可以将工作场连同其中的所有数据和程序储存起来。在任何情况下,这些程序不是编译执行,而是解释执行的。

APL 最著名的就是它使用一组非ASCII符号。这些符号比一般常见的代数和计算符号要多。有人开玩笑说,用两行这样的奇形怪状的符号就可以将所有航空控制的问题解决了。事实上,在一些APL版本中,用一行程序就可以将任何可计算的函数表达出来,再用一行你可以将这个函数的结构表达出来。由于它的精密的结构和非标准的符号,也有人将APL称为“只写语言”。除数学家外,其他人要读APL写的程序都感到非常困难。有些数学家觉得其它语言比APL难懂。由于APL使用不寻常的符号,许多编程员在写APL程序时使用专门的APL键盘。今天也有不同的只使用ASCII字母写APL的方法。

艾佛森后来还设计了一个APL的后续,称为J语言,这个语言只使用ASCII符号。至今为止只有一种J语言。一些其它语言也提供类似APL的功能。A+是一种开源的编程语言,其许多指令与APL相同。

下面这个例子排列一个存在X里的词的序列,排列标准是每个词的长度:

X[X+.¬' ';]

下面是一个寻找所有1和R之间的质数的例子:

下面是这个程序的读法(从右向左):

  1. 建立含有从1到R的自然数的系列(假如程序开始时R=6,那么是1 2 3 4 5 6)
  2. 放弃这个系列中的第一个元素()(是2 3 4 5 6)
  3. 令R成为这个系列(是授值符号)
  4. 令R与R相乘而组成一个矩阵,实际上是组成一个R乘R的乘法表(
  5. 建立一个长度与R相同的系列,假如R中相应位置的数在乘法矩阵中出现,那么在这个位置上的数就应该是1,否则0(),这个运算的结果是0 0 1 0 1
  6. 逻辑地否定的系列中的数,也就是说,1成为0,0成为1(),结果是1 1 0 1 0
  7. 选择R中相应的在新的系列中为1的数,这些数是质数(),结果为2 3 5

以下是Perl语言的相应程序:

perl -le '$_ = 1; (1 x $_) !~ /^(11+)\1+$/ && print while $_++'

以下是J语言的相应程序:

( -. r e. , r */ r ) # r =: }. 1 + i. 7

APL 的 Hello World 程序

'Hello, world'

字母表

从一开始就有人批评APL使用一套特别的、非标准的字母表。学过APL的人一般很喜欢这些特别的符号,这说明当时艾佛森选择这些符号时是有一定的用意的。Unicode包含这些字母,Unicode被引入后,要寻找特别的字型的问题开始有所减缓。虽然如此依然有人批评当初APL设计时所选择的特殊的符号。这些专门为APL设计的键盘无论如何不会非常普及。

实现

GNU APL页面存档备份,存于互联网档案馆)是一个自由的APL实现,它可以运行在Linux,Windows还有Mac OS X系统上。

引用

  1. ^ APL Quotations and Anecdotes. jsoftware.com. jsoftware. [April 14, 2018]. (原始内容存档于2020-05-09). 

外部链接

Read other articles:

Part of a series onBritish law Acts of Parliament of the United Kingdom Year      1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 ...

 

Namco Ltd.IndustriIndustri permainan komputer dan videoDidirikan1955KantorpusatTokyo, JepangTokohkunciMasaya Nakamura (Founder) Kyushiro Takagi (CEO)ProdukGalaga Pac-Man Ridge RacerSoul Calibur Tales of Symphonia Tekken Time CrisisSitus webhttp://www.namco.com Namco Bandai Games Inc. (NBGI) (株式会社バンダイナムコゲームスcode: ja is deprecated , Kabushiki Gaisha Bandai Namuko Gēmusu) adalah sebuah perusahaan pengembang permainan video berbasis di Jepang. Beberapa produk permai...

 

This biography of a living person needs additional citations for verification. Please help by adding reliable sources. Contentious material about living persons that is unsourced or poorly sourced must be removed immediately from the article and its talk page, especially if potentially libelous.Find sources: Celebrity Big Brother (British TV series) series 8 – news · newspapers · books · scholar · JSTOR (April 2020) (Learn how and when to remove this m...

Pour les articles homonymes, voir Molinier. Édouard Corniglion-Molinier Fonctions Député français 9 décembre 1962 – 9 mai 1963(5 mois) Élection 25 novembre 1962 Circonscription 3e des Alpes-Maritimes Législature IIe (Cinquième République) Groupe politique UNR-UDT Prédécesseur Léon Teisseire Successeur Fernand Icart 5 juillet 1951 – 5 décembre 1958(7 ans et 5 mois) Élection 17 juin 1951 Réélection 2 janvier 1956 Circonscription Alpes-Maritimes Législature I...

 

Deep Space NetworkLogo ulang tahun Deep Space Network ke-50 pada tahun 2018.Nama alternatifNASA Deep Space Network OrganisasiInterplanetary Network Directorate (NASA / JPL)LokasiAmerika Serikat, Spanyol, Australia Koordinat34°12′3″N 118°10′18″W / 34.20083°N 118.17167°W / 34.20083; -118.17167Koordinat: 34°12′3″N 118°10′18″W / 34.20083°N 118.17167°W / 34.20083; -118.17167Didirikan01 Oktober 1958 (1958-10-01)S...

 

Édouard Herriot Perdana Menteri PrancisMasa jabatan15 June 1924 – 17 April 1925PendahuluFrédéric François-MarsalPenggantiPaul PainlevéMasa jabatan20 July 1926 – 23 July 1926PendahuluAristide BriandPenggantiRaymond PoincaréMasa jabatan3 June 1932 – 18 December 1932PendahuluAndré TardieuPenggantiJoseph Paul-Boncour Informasi pribadiLahirÉdouard Marie Herriot5 July 1872Meninggal26 Maret 1957(1957-03-26) (umur 84)Partai politikPartai RadikalSunting ko...

豪栄道 豪太郎 場所入りする豪栄道基礎情報四股名 澤井 豪太郎→豪栄道 豪太郎本名 澤井 豪太郎愛称 ゴウタロウ、豪ちゃん、GAD[1][2]生年月日 (1986-04-06) 1986年4月6日(38歳)出身 大阪府寝屋川市身長 183cm体重 160kgBMI 47.26所属部屋 境川部屋得意技 右四つ・出し投げ・切り返し・外掛け・首投げ・右下手投げ成績現在の番付 引退最高位 東大関生涯戦歴 696勝493敗...

 

Військово-музичне управління Збройних сил України Тип військове формуванняЗасновано 1992Країна  Україна Емблема управління Військово-музичне управління Збройних сил України — структурний підрозділ Генерального штабу Збройних сил України призначений для планува...

 

Interstate Highway in the U.S. states of Oregon, Idaho, and Utah This article is about the Interstate Highway in Oregon, Idaho, and Utah. For the Interstate Highway in Pennsylvania, New York, Connecticut, and Massachusetts, see Interstate 84 (Pennsylvania–Massachusetts). Interstate 84I-84 highlighted in redRoute informationLength769.62 mi[1] (1,238.58 km)Existed1956 (as I-80N)–presentNHSEntire routeMajor junctionsWest end I-5 / US 30 in Portland, ORMa...

Austrian federal state Federal state in AustriaSalzburg Land SalzburgFederal state FlagCoat of armsAnthem: Salzburger LandeshymneCountry AustriaCapitalSalzburgGovernment • BodyLandtag of Salzburg • GovernorWilfried Haslauer (ÖVP) • Deputy GovernorsMarlene Svazek (FPÖ)Stefan Schnöll (ÖVP)Area • Total7,052.88 km2 (2,723.13 sq mi)Population (2022) • Total562,606 • Density80/km2 (210/sq mi)GD...

 

American football player (born 1975) This article is about the American football player. For the English football (soccer) player, see Matt Bryant (footballer). American football player Matt BryantBryant with the Falcons in 2013No. 8, 5, 1, 3Position:PlacekickerPersonal informationBorn: (1975-05-29) May 29, 1975 (age 49)Orange, Texas, U.S.Height:5 ft 9 in (1.75 m)Weight:203 lb (92 kg)Career informationHigh school:Bridge City (Bridge City, Texas)College:BaylorUndr...

 

International athletics championship event1997 IAAF World Half Marathon ChampionshipsOrganisersIAAFEdition6thDateOctober 4Host cityKošice, Slovakia Events3Participation226 athletes from 45 nations← 1996 Palma de Mallorca 1998 Zürich → The 6th IAAF World Half Marathon Championships was held on October 4, 1997, in the city of Košice, Slovakia. A total of 228 athletes, 144 men and 84 women, from 45 countries took part. Detailed reports on the event and an appraisal of the results ...

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (فبراير 2023) نصب سيزار تشافيز الوطني   إحداثيات 35°13′38″N 118°33′40″W / 35.2273°N 118.561°W / 35.2273; -118.561   [1] معلومات عامة الدولة الولايات المتحدة  المساحة 47 ه�...

 

علم سلوفينيا   ألوان أبيض أزرق أحمر  الاعتماد 25 يونيو 1991  الاختصاص سلوفينيا  تعديل مصدري - تعديل   علم سلوفينيا علم سلوفينيا المدني علم جمهورية سلوفينيا الاشتراكية علم سلوفينيا التقليدي أعتمد علم سلوفينيا الحالي في 27 حزيران - يونيو من سنة 1991 بعد الاستقلال عن جم�...

 

この記事は英語版の対応するページを翻訳することにより充実させることができます。(2021年3月)翻訳前に重要な指示を読むには右にある[表示]をクリックしてください。 英語版記事を日本語へ機械翻訳したバージョン(Google翻訳)。 万が一翻訳の手がかりとして機械翻訳を用いた場合、翻訳者は必ず翻訳元原文を参照して機械翻訳の誤りを訂正し、正確な翻訳にし�...

Postage Stamps Of India Main article: List of postage stamps of India This is a list of commemorative postage stamps issued by the India Post between 1961 and 1970. 1961 # Issue Date Description Image Denomination 1 6 January 1961 Tyagaraja 15 np * 50th Anniversary of First Official Airmail Flight, Allahabad to Naini (Set of 3 Stamps) 2 18 February 1961 First Air Mail Post - Golden Jubilee 5 np 3 18 February 1961 First Air Mail Post - Golden Jubilee 15 np 4 18 February 1961 First Air Mail Pos...

 

Pour les articles homonymes, voir Mau Mau. Cet article possède un paronyme, voir Maï-Maï. Révolte des Mau Mau Soldats des King's African Rifles britanniques durant la révolte. Informations générales Date 1952-1960 Lieu Colonie du Kenya Belligérants Rebelles Mau Mau Royaume-Uni Colonie du Kenya Commandants Dedan Kimathi Musa Mwariama Waruhiu Itote Stanley Mathenge Evelyn Baring George Erskine Kenneth O'Connor Forces en présence Inconnu 10 000 soldats 21 000 policiers 25 000 soldats K...

 

Measurement of fuel economy Monroney label showing the EPA's fuel economy equivalent ratings for the 2011 Chevrolet Volt. The rating for all-electric mode (left) is expressed in miles per gallon gasoline equivalent (mpg). Miles per gallon gasoline equivalent (MPGe or MPGge) is a measure of the average distance traveled per unit of energy consumed. MPGe is used by the United States Environmental Protection Agency (EPA) to compare energy consumption of alternative fuel vehicles, plug-in electri...

Article principal : Tir à l'arc aux Jeux olympiques d'été de 2012. Londres 2012 - Individuel femmes Généralités Sport Tir à l'arc Organisateur(s) CIO Édition 6e Lieu(x) Londres Date du 27 au 2 août 2012 Nations 40 Participants 64 archères Site(s) Lord's Cricket Ground Palmarès Tenant du titre Zhang Juanjuan Vainqueur Ki Bo-bae Deuxième Aída Román Troisième Mariana Avitia Navigation Pékin 2008 Rio de Janeiro 2016 modifier L'épreuve individuelle féminine de tir à l'arc d...

 

Questa voce sull'argomento calciatori britannici è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Kyle CasciaroNazionalità Inghilterra Gibilterra (dal 2013) Calcio RuoloCentrocampista Squadra Lynx CarrieraSquadre di club1 2010-2018 Lincoln Red Imps77 (35)2018→  Olympique 131 (0)[1]2018-2019 Lincoln Red Imps11 (0)2019-2020 St Joseph's7 (1)2020-2021 Linco...