Loading AI tools
З Вікіпедії, вільної енциклопедії
APL (вимовляють «ей-пі-ель», названа за книгою A Programming Language)[5] — інтерактивна[en] масиво-орієнтована мова програмування та інтегроване середовище розробки, що доступні від низки розробників[6] і для більшості комп'ютерних платформ[7]. Вона ґрунтується на математичній нотації, винайденій Кеннетом Айверсоном і його колегами, що пропонує спеціальні засоби для проектування і розробки цифрових обчислювальних систем, як апаратного забезпечення, так і програм[8].
APL | |
---|---|
Парадигма | масивоорієнтована, функційна, структурна, модульна |
Дата появи | 1964 |
Творці | Кеннет Айверсон |
Розробник | Кеннет Айверсон |
Система типізації | динамічна |
Основні реалізації | IBM APL2, Dyalog APL, APL2000, Sharp APL, APLX[en] |
Діалекти | A+, Dyalog APL, APLNext |
Під впливом від | математична нотація |
Вплинула на | J,[1] K,[2] Mathematica, MATLAB,[3] Nial,[4] PPL, Q |
APL має поєднання унікальних і порівняно рідкісних функцій, які привертають увагу програмістів і роблять її плідною мовою програмування:[9]
APL використовують в науковій[10], актуарній[9], статистичній[11] і фінансовій сферах, де вона застосовується практиками для своїх задач і програмістами для розробки комерційних застосувань. Свого часу вплинула на розвиток електронних таблиць, функціонального програмування,[12] і математичні пакети програм[3]. Вона також надихнула винахідників декількох інших мов програмування.[1][2][4] Її також пов'язують з швидким і легким розвитком проектів в нестабільному бізнес-середовищі[13].
Перше втілення того, що пізніше перетворилося на мову програмування APL, було опубліковане і формалізоване в A Programming Language[5], книзі, що описує нотацію винайдену 1957 року Кеннетом Е. Айверсоном в Гарвардському університеті. Айверсон розробив математичну нотацію для роботи з масивами, якої він навчав своїх учнів.
1960 року він почав працювати на IBM, і, працюючи з Адіном Фалкофом, створив APL на основі своєї нотації. Вона була використана всередині IBM для коротких дослідних звітів на комп'ютерних системах, таких як Burroughs B5000 і його стековому механізмі, коли стекові машини оцінювалися порівняно з регістровими машинами IBM з метою розробки майбутніх комп'ютерів.
Крім того, 1960 року Айверсон уже використовував свою нотацію в чернетках 6-ї глави, що називалася «Мова програмування» для книги, яку він писав з Фредом Бруксом, Automatic Data Processing, яка потім буде опублікована 1963 року[14][15].
1962 року відома перша спроба використати нотацію для стандартизації набору інструкцій для машин, які пізніше стали сімейством IBM System/360.
1963 року д-р Герберт Хеллерман, що працював в науково-дослідному інституті IBM Systems, реалізував частину позначень на комп'ютері IBM 1620, і він був використаний студентами в спеціальному курсі середньої школи для розрахунків трансцендентних функцій підсумовуванням рядів. Студенти випробували свій код в трансляторі доктора Хеллермана. Цю реалізацію частини позначень називають PAT (Personalized Array Translator)[16].
1963 року Фалькоф, Айверсон, та Едвард Сассенгут, що на той час працювали на IBM, використали нотацію для формального опису архітектури і функціональності серії машин IBM System/360, що зрештою втілилося в статті, опублікованій в IBM Systems Journal 1964 року. Після публікації команда звернула свою увагу на втілення нотації в комп'ютерній системі. Одним з мотивів для цього фокусу на реалізації був інтерес з боку John L. Lawrence, який мав нові обов'язки в Science Research Associates, освітній компанії, купленій IBM 1964 року. Лоуренс попрохав Айверсона і його групу, щоб вони допомогли із використанням мови як інструменту для розробки та використання комп'ютерів в освіті[17].
Після того, як Lawrence M. Breed і Philip S. Abrams зі Стенфордського університету приєднались до команди IBM Research, вони продовжували свої попередні роботи з реалізації запрограмованих в FORTRAN IV частини нотацій, що було зроблено для IBM 7090 під управлінням операційної системи IBSYS. Ця робота була закінчена в кінці 1965 року і пізніше стала відома як IVSYS (Iverson System, система Айверсона). Основи цієї реалізації були докладно описані Abrams в Stanford University Technical Report, «An Interpreter for Iverson Notation» in 1966.[18], Як і система PAT Геллермана раніше, ця реалізація не включала набір символів APL, а використовувала спеціальні зарезервовані слова англійською для функцій і операторів. Система була пізніше адаптована для системи з розділенням часу і, в листопаді 1966 року, була перепрограмована для комп'ютерів IBM/360 Model 50, що працювали в режимі розділення часу, і далі була використана всередині IBM[19].
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.