APL (вимовляють «ей-пі-ель», названа за книгою A Programming Language) — [en] масиво-орієнтована мова програмування та інтегроване середовище розробки, що доступні від низки розробників і для більшості комп'ютерних платформ. Вона ґрунтується на математичній нотації, винайденій Кеннетом Айверсоном і його колегами, що пропонує спеціальні засоби для проектування і розробки цифрових обчислювальних систем, як апаратного забезпечення, так і програм.
APL | |
---|---|
Парадигма | масивоорієнтована, функційна, структурна, модульна |
Дата появи | 1964 |
Творці | Кеннет Айверсон |
Розробник | Кеннет Айверсон |
Система типізації | (динамічна) |
Основні реалізації | IBM APL2, Dyalog APL, APL2000, Sharp APL, [en] |
Діалекти | , Dyalog APL, APLNext |
Під впливом від | математична нотація |
Вплинула на | J, K, Mathematica, MATLAB, , , |
|
APL має поєднання унікальних і порівняно рідкісних функцій, які привертають увагу програмістів і роблять її плідною мовою програмування:
- Вона лаконічна, використовує символи, а не слова і застосовує функції до всіх масивів без використання явних циклів.
- Абстрактна, орієнтована на розв'язання задач, орієнтована на написання програм незалежних від архітектури комп'ютера або операційної системи.
- Має одне просте, послідовне і рекурсивне правило пріоритету: правий аргумент функції — це результат всього виразу праворуч від неї.
- Це полегшує розв'язання проблем на високому рівні абстракції.
APL використовують в науковій, актуарній, статистичній і фінансовій сферах, де вона застосовується практиками для своїх задач і програмістами для розробки комерційних застосувань. Свого часу вплинула на розвиток електронних таблиць, функціонального програмування, і математичні пакети програм. Вона також надихнула винахідників декількох інших мов програмування. Її також пов'язують з швидким і легким розвитком проектів в нестабільному бізнес-середовищі.
Історія
Перше втілення того, що пізніше перетворилося на мову програмування APL, було опубліковане і формалізоване в A Programming Language, книзі, що описує нотацію винайдену 1957 року Кеннетом Е. Айверсоном в Гарвардському університеті. Айверсон розробив математичну нотацію для роботи з масивами, якої він навчав своїх учнів.
1960 року він почав працювати на IBM, і, працюючи з Адіном Фалкофом, створив APL на основі своєї нотації. Вона була використана всередині IBM для коротких дослідних звітів на комп'ютерних системах, таких як Burroughs B5000 і його стековому механізмі, коли стекові машини оцінювалися порівняно з регістровими машинами IBM з метою розробки майбутніх комп'ютерів.
Крім того, 1960 року Айверсон уже використовував свою нотацію в чернетках 6-ї глави, що називалася «Мова програмування» для книги, яку він писав з Фредом Бруксом, Automatic Data Processing, яка потім буде опублікована 1963 року.
1962 року відома перша спроба використати нотацію для стандартизації набору інструкцій для машин, які пізніше стали сімейством (IBM System/360).
1963 року д-р Герберт Хеллерман, що працював в науково-дослідному інституті IBM Systems, реалізував частину позначень на комп'ютері , і він був використаний студентами в спеціальному курсі середньої школи для розрахунків трансцендентних функцій підсумовуванням рядів. Студенти випробували свій код в трансляторі доктора Хеллермана. Цю реалізацію частини позначень називають PAT (Personalized Array Translator).
1963 року Фалькоф, Айверсон, та Едвард Сассенгут, що на той час працювали на IBM, використали нотацію для формального опису архітектури і функціональності серії машин (IBM System/360), що зрештою втілилося в статті, опублікованій в IBM Systems Journal 1964 року. Після публікації команда звернула свою увагу на втілення нотації в комп'ютерній системі. Одним з мотивів для цього фокусу на реалізації був інтерес з боку John L. Lawrence, який мав нові обов'язки в , освітній компанії, купленій IBM 1964 року. Лоуренс попрохав Айверсона і його групу, щоб вони допомогли із використанням мови як інструменту для розробки та використання комп'ютерів в освіті.
Після того, як і зі Стенфордського університету приєднались до команди IBM Research, вони продовжували свої попередні роботи з реалізації запрограмованих в FORTRAN IV частини нотацій, що було зроблено для IBM 7090 під управлінням операційної системи . Ця робота була закінчена в кінці 1965 року і пізніше стала відома як IVSYS (Iverson System, система Айверсона). Основи цієї реалізації були докладно описані Abrams в Stanford University Technical Report, «An Interpreter for Iverson Notation» in 1966., Як і система PAT Геллермана раніше, ця реалізація не включала набір символів APL, а використовувала спеціальні зарезервовані слова англійською для функцій і операторів. Система була пізніше адаптована для системи з розділенням часу і, в листопаді 1966 року, була перепрограмована для комп'ютерів IBM/360 Model 50, що працювали в режимі розділення часу, і далі була використана всередині IBM.
Реалізації APL
Відкриті
- GNU APL [ 22 січня 2014 у Wayback Machine.]
- NARS2000 [Архівовано 23 серпня 2013 у WebCite] — сучасний APL для Windows
- OpenAPL на SourceForge.net
Комерційні
- Dyalog APL [ 22 листопада 2020 у Wayback Machine.]
- IBM APL2 [ 4 серпня 2008 у Wayback Machine.]
- APL2000 [ 26 серпня 2020 у Wayback Machine.]
- MicroAPL Ltd. [ 22 липня 2014 у Wayback Machine.]
- OpenAPL [ 4 квітня 2019 у Wayback Machine.]
Див. також
Примітки
- 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.
- The Growth of MatLab - Cleve Moler (PDF). Архів (PDF) оригіналу за 23 серпня 2011. Процитовано 3 лютого 2010.
- About Q'Nial. Nial.com. Архів оригіналу за 23 серпня 2011. Процитовано 3 лютого 2010.
- Iverson, Kenneth E. (1962). . Wiley. ISBN . Архів оригіналу за 4 червня 2009. Процитовано 19 листопада 2012.
- an experimental APL interpreter. NARS2000. Архів оригіналу за 23 серпня 2013. Процитовано 3 лютого 2010.
- . Dyalog.com. Архів оригіналу за 3 лютого 2010. Процитовано 3 лютого 2010.
- Creveling, C.J. Experimental use of A Programming Language /APL/ at the Goddard Space Flight Center. Goddard Space Flight Center. NASA. Архів оригіналу за 23 серпня 2013. Процитовано 17 червня 2011.
- Bergquist, Gary A. (1999). The future of APL in the insurance world. ACM SIGAPL APL Quote Quad. New York, N.Y. 30 (1): 16—21. doi:10.1145/347194.347203. ISSN 0163–6006.
{{}}
: Перевірте значення|issn=
()Обслуговування CS1: Сторінки зі значенням параметра postscript, що збігається зі стандартним значенням в обраному режимі () - . Vector.org.uk. 20 травня 2008. Архів оригіналу за 25 січня 2010. Процитовано 3 лютого 2010.
- OOSTATS — A New Approach to Statistics via APL[недоступне посилання з червня 2019]
- ACM Award Citation – John Backus. 1977. Awards.acm.org. 3 грудня 1924. Архів оригіналу за 23 серпня 2013. Процитовано 3 лютого 2010.
- Agile Approach. Agile Approach. Архів оригіналу за 23 серпня 2013. Процитовано 3 лютого 2010.
- Iverson, Kenneth E., «Automatic Data Processing: Chapter 6: A programming language» [ 4 червня 2009 у Wayback Machine.], 1960, DRAFT copy for Brooks and Iverson 1963 book, «Automatic Data Processing».
- Brooks, Fred; Iverson, Kenneth, (1963), Automatic Data Processing, John Wiley & Sons Inc.
- Hellerman, H., «Experimental Personalized Array Translator System», Communications of the ACM, 7, 433 (July, 1964).
- Falkoff, Adin D.; Iverson, Kenneth E., «The Evolution of APL» [ 19 липня 2013 у Wayback Machine.], ACM SIGPLAN Notices 13, 1978-08.
- Abrams, Philip S., An interpreter for «Iverson notation» [ 16 грудня 2010 у Wayback Machine.], Technical Report: CS-TR-66-47, Department of Computer Science, Stanford University, August 1966.
- Haigh, Thomas, «Biographies: Kenneth E. Iverson», IEEE Annals of the History of Computing, 2005
Джерела
- (1970 Stanford doctoral dissertation by Philip Abrams)
- A Personal History Of APL [ 4 червня 2011 у Wayback Machine.] (1982 article by )
- McIntyre, Donald B. (1991). Language as an intellectual tool: From hieroglyphics to APL (PDF). IBM Systems Journal. 30 (4). (PDF) оригіналу за 4 травня 2006. Процитовано 19 листопада 2012.
- Iverson, Kenneth E. (1991). A Personal view of APL (PDF). IBM Systems Journal. 30 (4). (PDF) оригіналу за 27 лютого 2008. Процитовано 19 листопада 2012.
- by Kenneth E. Iverson
- by Kenneth E. Iverson
- Brooks, Frederick P.; Kenneth Iverson (1965). Automatic Data Processing, System/360 Edition. .
- Askoolum, Ajay (August 2006). System Building with APL + Win. Wiley. ISBN .
- Falkoff, Adin D.; Iverson, Kenneth E.; Sussenguth, Edward H. (1964). A Formal Description of SYSTEM/360 (PDF). IBM Systems Journal. New York. 3 (3). (PDF) оригіналу за 27 лютого 2008. Процитовано 19 листопада 2012.
- History of Programming Languages, chapter 14[]
- Banon, Gerald Jean Francis (1989). Bases da Computacao Grafica. Rio de Janeiro: Campus. с. 141.
- LePage, Wilbur R. (1978). Applied A.P.L. Programming. Prentice Hall.
Посилання
Вікісховище має мультимедійні дані за темою: APL |
- APL, каталог посилань Open Directory Project
- comp.lang.apl (Google Groups archive [ 10 листопада 2012 у Wayback Machine.])
- APL Wiki [ 10 лютого 2011 у Wayback Machine.]
- SIGAPL [ 9 лютого 2012 у Wayback Machine.]
- Знайомство з мовою програмування APL [ 17 лютого 2021 у Wayback Machine.] Oleksandr Nechai, YouTube
- Comparison of Black-Scholes options pricing model in many languages, including APL [ 25 червня 2012 у Wayback Machine.]
- OpenAPL project page on Source Forge [ 30 листопада 2012 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
APL vimovlyayut ej pi el nazvana za knigoyu A Programming Language en masivo oriyentovana mova programuvannya ta integrovane seredovishe rozrobki sho dostupni vid nizki rozrobnikiv i dlya bilshosti komp yuternih platform Vona gruntuyetsya na matematichnij notaciyi vinajdenij Kennetom Ajversonom i jogo kolegami sho proponuye specialni zasobi dlya proektuvannya i rozrobki cifrovih obchislyuvalnih sistem yak aparatnogo zabezpechennya tak i program APLParadigma masivooriyentovana funkcijna strukturna modulnaData poyavi 1964Tvorci Kennet AjversonRozrobnik Kennet AjversonSistema tipizaciyi dinamichnaOsnovni realizaciyi IBM APL2 Dyalog APL APL2000 Sharp APL en Dialekti A Dyalog APL APLNextPid vplivom vid matematichna notaciyaVplinula na J K Mathematica MATLAB Mediafajli u Vikishovishi APL maye poyednannya unikalnih i porivnyano ridkisnih funkcij yaki privertayut uvagu programistiv i roblyat yiyi plidnoyu movoyu programuvannya Vona lakonichna vikoristovuye simvoli a ne slova i zastosovuye funkciyi do vsih masiviv bez vikoristannya yavnih cikliv Abstraktna oriyentovana na rozv yazannya zadach oriyentovana na napisannya program nezalezhnih vid arhitekturi komp yutera abo operacijnoyi sistemi Maye odne proste poslidovne i rekursivne pravilo prioritetu pravij argument funkciyi ce rezultat vsogo virazu pravoruch vid neyi Ce polegshuye rozv yazannya problem na visokomu rivni abstrakciyi APL vikoristovuyut v naukovij aktuarnij statistichnij i finansovij sferah de vona zastosovuyetsya praktikami dlya svoyih zadach i programistami dlya rozrobki komercijnih zastosuvan Svogo chasu vplinula na rozvitok elektronnih tablic funkcionalnogo programuvannya i matematichni paketi program Vona takozh nadihnula vinahidnikiv dekilkoh inshih mov programuvannya Yiyi takozh pov yazuyut z shvidkim i legkim rozvitkom proektiv v nestabilnomu biznes seredovishi IstoriyaKlaviatura APL zi specialnimi simvolami Pershe vtilennya togo sho piznishe peretvorilosya na movu programuvannya APL bulo opublikovane i formalizovane v A Programming Language knizi sho opisuye notaciyu vinajdenu 1957 roku Kennetom E Ajversonom v Garvardskomu universiteti Ajverson rozrobiv matematichnu notaciyu dlya roboti z masivami yakoyi vin navchav svoyih uchniv 1960 roku vin pochav pracyuvati na IBM i pracyuyuchi z Adinom Falkofom stvoriv APL na osnovi svoyeyi notaciyi Vona bula vikoristana vseredini IBM dlya korotkih doslidnih zvitiv na komp yuternih sistemah takih yak Burroughs B5000 i jogo stekovomu mehanizmi koli stekovi mashini ocinyuvalisya porivnyano z registrovimi mashinami IBM z metoyu rozrobki majbutnih komp yuteriv Krim togo 1960 roku Ajverson uzhe vikoristovuvav svoyu notaciyu v chernetkah 6 yi glavi sho nazivalasya Mova programuvannya dlya knigi yaku vin pisav z Fredom Bruksom Automatic Data Processing yaka potim bude opublikovana 1963 roku 1962 roku vidoma persha sproba vikoristati notaciyu dlya standartizaciyi naboru instrukcij dlya mashin yaki piznishe stali simejstvom IBM System 360 1963 roku d r Gerbert Hellerman sho pracyuvav v naukovo doslidnomu instituti IBM Systems realizuvav chastinu poznachen na komp yuteri i vin buv vikoristanij studentami v specialnomu kursi serednoyi shkoli dlya rozrahunkiv transcendentnih funkcij pidsumovuvannyam ryadiv Studenti viprobuvali svij kod v translyatori doktora Hellermana Cyu realizaciyu chastini poznachen nazivayut PAT Personalized Array Translator 1963 roku Falkof Ajverson ta Edvard Sassengut sho na toj chas pracyuvali na IBM vikoristali notaciyu dlya formalnogo opisu arhitekturi i funkcionalnosti seriyi mashin IBM System 360 sho zreshtoyu vtililosya v statti opublikovanij v IBM Systems Journal 1964 roku Pislya publikaciyi komanda zvernula svoyu uvagu na vtilennya notaciyi v komp yuternij sistemi Odnim z motiviv dlya cogo fokusu na realizaciyi buv interes z boku John L Lawrence yakij mav novi obov yazki v osvitnij kompaniyi kuplenij IBM 1964 roku Lourens poprohav Ajversona i jogo grupu shob voni dopomogli iz vikoristannyam movi yak instrumentu dlya rozrobki ta vikoristannya komp yuteriv v osviti Pislya togo yak i zi Stenfordskogo universitetu priyednalis do komandi IBM Research voni prodovzhuvali svoyi poperedni roboti z realizaciyi zaprogramovanih v FORTRAN IV chastini notacij sho bulo zrobleno dlya IBM 7090 pid upravlinnyam operacijnoyi sistemi Cya robota bula zakinchena v kinci 1965 roku i piznishe stala vidoma yak IVSYS Iverson System sistema Ajversona Osnovi ciyeyi realizaciyi buli dokladno opisani Abrams v Stanford University Technical Report An Interpreter for Iverson Notation in 1966 Yak i sistema PAT Gellermana ranishe cya realizaciya ne vklyuchala nabir simvoliv APL a vikoristovuvala specialni zarezervovani slova anglijskoyu dlya funkcij i operatoriv Sistema bula piznishe adaptovana dlya sistemi z rozdilennyam chasu i v listopadi 1966 roku bula pereprogramovana dlya komp yuteriv IBM 360 Model 50 sho pracyuvali v rezhimi rozdilennya chasu i dali bula vikoristana vseredini IBM Realizaciyi APLVidkriti GNU APL 22 sichnya 2014 u Wayback Machine NARS2000 Arhivovano 23 serpnya 2013 u WebCite suchasnij APL dlya Windows OpenAPL na SourceForge net Komercijni Dyalog APL 22 listopada 2020 u Wayback Machine IBM APL2 4 serpnya 2008 u Wayback Machine APL2000 26 serpnya 2020 u Wayback Machine MicroAPL Ltd 22 lipnya 2014 u Wayback Machine OpenAPL 4 kvitnya 2019 u Wayback Machine Div takozhJ mova programuvannya PrimitkiA Bibliography of APL and J Jsoftware com Arhiv originalu za 23 serpnya 2011 Procitovano 3 lyutogo 2010 Kx Systems An Interview with Arthur Whitney Jan 2004 Kx com 4 sichnya 2004 Arhiv originalu za 23 serpnya 2011 Procitovano 3 lyutogo 2010 The Growth of MatLab Cleve Moler PDF Arhiv PDF originalu za 23 serpnya 2011 Procitovano 3 lyutogo 2010 About Q Nial Nial com Arhiv originalu za 23 serpnya 2011 Procitovano 3 lyutogo 2010 Iverson Kenneth E 1962 Wiley ISBN 0 471 43014 5 Arhiv originalu za 4 chervnya 2009 Procitovano 19 listopada 2012 an experimental APL interpreter NARS2000 Arhiv originalu za 23 serpnya 2013 Procitovano 3 lyutogo 2010 Dyalog com Arhiv originalu za 3 lyutogo 2010 Procitovano 3 lyutogo 2010 Creveling C J Experimental use of A Programming Language APL at the Goddard Space Flight Center Goddard Space Flight Center NASA Arhiv originalu za 23 serpnya 2013 Procitovano 17 chervnya 2011 Bergquist Gary A 1999 The future of APL in the insurance world ACM SIGAPL APL Quote Quad New York N Y 30 1 16 21 doi 10 1145 347194 347203 ISSN 0163 6006 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite journal title Shablon Cite journal cite journal a Perevirte znachennya issn dovidka Obslugovuvannya CS1 Storinki zi znachennyam parametra postscript sho zbigayetsya zi standartnim znachennyam v obranomu rezhimi posilannya Vector org uk 20 travnya 2008 Arhiv originalu za 25 sichnya 2010 Procitovano 3 lyutogo 2010 OOSTATS A New Approach to Statistics via APL nedostupne posilannya z chervnya 2019 ACM Award Citation John Backus 1977 Awards acm org 3 grudnya 1924 Arhiv originalu za 23 serpnya 2013 Procitovano 3 lyutogo 2010 Agile Approach Agile Approach Arhiv originalu za 23 serpnya 2013 Procitovano 3 lyutogo 2010 Iverson Kenneth E Automatic Data Processing Chapter 6 A programming language 4 chervnya 2009 u Wayback Machine 1960 DRAFT copy for Brooks and Iverson 1963 book Automatic Data Processing Brooks Fred Iverson Kenneth 1963 Automatic Data Processing John Wiley amp Sons Inc Hellerman H Experimental Personalized Array Translator System Communications of the ACM 7 433 July 1964 Falkoff Adin D Iverson Kenneth E The Evolution of APL 19 lipnya 2013 u Wayback Machine ACM SIGPLAN Notices 13 1978 08 Abrams Philip S An interpreter for Iverson notation 16 grudnya 2010 u Wayback Machine Technical Report CS TR 66 47 Department of Computer Science Stanford University August 1966 Haigh Thomas Biographies Kenneth E Iverson IEEE Annals of the History of Computing 2005Dzherela 1970 Stanford doctoral dissertation by Philip Abrams A Personal History Of APL 4 chervnya 2011 u Wayback Machine 1982 article by McIntyre Donald B 1991 Language as an intellectual tool From hieroglyphics to APL PDF IBM Systems Journal 30 4 PDF originalu za 4 travnya 2006 Procitovano 19 listopada 2012 Iverson Kenneth E 1991 A Personal view of APL PDF IBM Systems Journal 30 4 PDF originalu za 27 lyutogo 2008 Procitovano 19 listopada 2012 by Kenneth E Iverson by Kenneth E Iverson Brooks Frederick P Kenneth Iverson 1965 Automatic Data Processing System 360 Edition ISBN 0 471 10605 4 Askoolum Ajay August 2006 System Building with APL Win Wiley ISBN 978 0 470 03020 2 Falkoff Adin D Iverson Kenneth E Sussenguth Edward H 1964 A Formal Description of SYSTEM 360 PDF IBM Systems Journal New York 3 3 PDF originalu za 27 lyutogo 2008 Procitovano 19 listopada 2012 History of Programming Languages chapter 14 proyasniti Banon Gerald Jean Francis 1989 Bases da Computacao Grafica Rio de Janeiro Campus s 141 LePage Wilbur R 1978 Applied A P L Programming Prentice Hall PosilannyaVikishovishe maye multimedijni dani za temoyu APL APL katalog posilan Open Directory Project comp lang apl Google Groups archive 10 listopada 2012 u Wayback Machine APL Wiki 10 lyutogo 2011 u Wayback Machine SIGAPL 9 lyutogo 2012 u Wayback Machine Znajomstvo z movoyu programuvannya APL 17 lyutogo 2021 u Wayback Machine Oleksandr Nechai YouTube Comparison of Black Scholes options pricing model in many languages including APL 25 chervnya 2012 u Wayback Machine OpenAPL project page on Source Forge 30 listopada 2012 u Wayback Machine