A+ — мова програмування, яка була створена в Morgan Stanley командою розробників на чолі з Артуром Уітні (Arthur Whitney). У 1988 році Уїтні створив мову A; він задумувався як бізнес-орієнтована реалізація APL, здатна виконуватися на SunOS (платформі для розподілених обчислень) і ефективно обробляти великі обсяги даних. Пізніше інші розробники допрацювали мову, додавши графічний інтерфейс користувача з автоматичною синхронізацією змінних і відповідних віджетів (засобів відображення змінних) і ряд інших можливостей. У 1992 році нову мову було офіційно названо A+ (+ в честь головного з доданих елементів графічного інтерфейсу).
A+ | |
---|---|
Парадигма | масивове програмування |
Дата появи | 1988 |
Творці | d |
Розробник | Morgan Stanley |
Система типізації | динамічна типізація[d] і строга типізація |
Ліцензія | GNU GPL |
Вебсайт | aplusdev.org |
Ця стаття є сирим з іншої мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. (січень 2018) |
Особливості мови
A+ використовує набір символів APL, тому розробка на ньому пов'язана з тими ж труднощами. Основним середовищем розробки A+ є XEmacs з відповідним розширенням і шрифтом kapl. В поставку мови входить схема клавіатури з нанесеними на неї спеціальними символами шрифту. Програма A+ складається з визначень функцій, команд присвоєння і викликів функцій. На відміну від APL, команди розділяються крапкою з комою, і тому можуть займати кілька рядків. Функція може приймати до 9 аргументів; якщо аргументів два, замість звичайного префіксного виклику функції можна використовувати інфіксный. Елементарні функції поділяються на три основні типи. Скалярні функції застосовуються незалежно до кожного елементу масиву, хоча синтаксис дозволяє записувати це застосування функції до масиву в цілому; до них належать арифметичні, логічні і деякі математичні функції. Структурні функції визначаються в термінах індексів масиву, міняючи місцями або вибираючи елементи масиву, не змінюючи їх. Нарешті, спеціалізовані функції працюють з масивом у цілому і змінюють його; до них належить, наприклад, функція інвертування матриці. Більшість структурних функцій (Catenate, Take, Drop, Reverse, Rotate, Replicate і Expand) і функції, отримані в результаті використання операторів Reduce і Scan, застосовуються до головної осі правого аргументу; його елементами вважаються зрізи масиву, перпендикулярні осі. Поняття головної осі елемента масиву узагальнюються для випадку m головних осей: масив розглядається як блок даних (frame) розмірності m, що містить комірки (cell) розмірності n. Функцію f можна модифікувати так, щоб вона застосовувалася до всіх осередків розмірності n, оператором рангу f@n. Відображаються файли — це файли представлені як масиви. За рахунок того, що у фізичну пам'ять завантажуються тільки використовувані частини файлів, цей механізм дозволяє працювати з великими обсягами файлів. Механізм залежностей між змінними дозволяє запам'ятовувати зв'язку між ними і при зміні деякої змінної автоматично перераховувати всі залежні від неї. Зокрема, це дозволяє легко реалізувати додаток-електронну таблицю. Механізм зворотного зв'язку (callback) реалізує обробку асинхронних подій допомогою автоматичного запуску асоційованих з ними функцій. Контексти дозволяють окремих пакетах і інструментів розділяти свої простору імен. В наші дні A+ знаходиться у вільному доступі, хоча і не є активно використовуваним мовою.
Елементи синтаксису
Коментар до кінця рядка ⍝ Регулярний вираз ідентифікатор змінної [a-zA-Z][_a-zA-Z0-9]* Присвоювання значення змінній varname ← value Блок { … } Визначення функції f{arg1; …; argN} : fBody Виклик функції f{arg1; …; argN} Послідовність ; Логотип A+ Логотип A+
Посилання
- Офіційний сайт, A+ Development.org
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
A mova programuvannya yaka bula stvorena v Morgan Stanley komandoyu rozrobnikiv na choli z Arturom Uitni Arthur Whitney U 1988 roci Uyitni stvoriv movu A vin zadumuvavsya yak biznes oriyentovana realizaciya APL zdatna vikonuvatisya na SunOS platformi dlya rozpodilenih obchislen i efektivno obroblyati veliki obsyagi danih Piznishe inshi rozrobniki dopracyuvali movu dodavshi grafichnij interfejs koristuvacha z avtomatichnoyu sinhronizaciyeyu zminnih i vidpovidnih vidzhetiv zasobiv vidobrazhennya zminnih i ryad inshih mozhlivostej U 1992 roci novu movu bulo oficijno nazvano A v chest golovnogo z dodanih elementiv grafichnogo interfejsu A Paradigmamasivove programuvannyaData poyavi1988TvorcidRozrobnikMorgan StanleySistema tipizaciyidinamichna tipizaciya d i stroga tipizaciyaLicenziyaGNU GPLVebsajtaplusdev orgCya stattya ye sirim perekladom z inshoyi movi Mozhlivo vona stvorena za dopomogoyu mashinnogo perekladu abo perekladachem yakij nedostatno volodiye oboma movami Bud laska dopomozhit polipshiti pereklad sichen 2018 Osoblivosti moviA vikoristovuye nabir simvoliv APL tomu rozrobka na nomu pov yazana z timi zh trudnoshami Osnovnim seredovishem rozrobki A ye XEmacs z vidpovidnim rozshirennyam i shriftom kapl V postavku movi vhodit shema klaviaturi z nanesenimi na neyi specialnimi simvolami shriftu Programa A skladayetsya z viznachen funkcij komand prisvoyennya i viklikiv funkcij Na vidminu vid APL komandi rozdilyayutsya krapkoyu z komoyu i tomu mozhut zajmati kilka ryadkiv Funkciya mozhe prijmati do 9 argumentiv yaksho argumentiv dva zamist zvichajnogo prefiksnogo vikliku funkciyi mozhna vikoristovuvati infiksnyj Elementarni funkciyi podilyayutsya na tri osnovni tipi Skalyarni funkciyi zastosovuyutsya nezalezhno do kozhnogo elementu masivu hocha sintaksis dozvolyaye zapisuvati ce zastosuvannya funkciyi do masivu v cilomu do nih nalezhat arifmetichni logichni i deyaki matematichni funkciyi Strukturni funkciyi viznachayutsya v terminah indeksiv masivu minyayuchi miscyami abo vibirayuchi elementi masivu ne zminyuyuchi yih Nareshti specializovani funkciyi pracyuyut z masivom u cilomu i zminyuyut jogo do nih nalezhit napriklad funkciya invertuvannya matrici Bilshist strukturnih funkcij Catenate Take Drop Reverse Rotate Replicate i Expand i funkciyi otrimani v rezultati vikoristannya operatoriv Reduce i Scan zastosovuyutsya do golovnoyi osi pravogo argumentu jogo elementami vvazhayutsya zrizi masivu perpendikulyarni osi Ponyattya golovnoyi osi elementa masivu uzagalnyuyutsya dlya vipadku m golovnih osej masiv rozglyadayetsya yak blok danih frame rozmirnosti m sho mistit komirki cell rozmirnosti n Funkciyu f mozhna modifikuvati tak shob vona zastosovuvalasya do vsih oseredkiv rozmirnosti n operatorom rangu f n Vidobrazhayutsya fajli ce fajli predstavleni yak masivi Za rahunok togo sho u fizichnu pam yat zavantazhuyutsya tilki vikoristovuvani chastini fajliv cej mehanizm dozvolyaye pracyuvati z velikimi obsyagami fajliv Mehanizm zalezhnostej mizh zminnimi dozvolyaye zapam yatovuvati zv yazku mizh nimi i pri zmini deyakoyi zminnoyi avtomatichno pererahovuvati vsi zalezhni vid neyi Zokrema ce dozvolyaye legko realizuvati dodatok elektronnu tablicyu Mehanizm zvorotnogo zv yazku callback realizuye obrobku asinhronnih podij dopomogoyu avtomatichnogo zapusku asocijovanih z nimi funkcij Konteksti dozvolyayut okremih paketah i instrumentiv rozdilyati svoyi prostoru imen V nashi dni A znahoditsya u vilnomu dostupi hocha i ne ye aktivno vikoristovuvanim movoyu Elementi sintaksisuKomentar do kincya ryadka Regulyarnij viraz identifikator zminnoyi a zA Z a zA Z0 9 Prisvoyuvannya znachennya zminnij varname value Blok Viznachennya funkciyi f arg1 argN fBody Viklik funkciyi f arg1 argN Poslidovnist Logotip A Logotip A PosilannyaOficijnij sajt A Development org