News: |
| APL | |
|---|---|
| Парадигма | блок, функционально, составлено, модульно |
| Появлено внутри | 1964 |
| Конструировано мимо | Кеннет E. Iverson |
| Проявитель | Кеннет E. Iverson |
| Печатая на машинке дисциплина | динамическо |
| Главные вставкы | IBM APL2, Dyalog APL, APL2000, острый APL |
| Диалекты | A+, Dyalog APL, APLNext |
| Повлияно на мимо | математически нотация |
| Повлияно на | J, K, Nial |
APL (A Programming Language) программировать блока язык основанный на нотации изобретенной в 1957 мимо Кеннет E. Iverson пока на Университет Harvard. Оно возникло как попытка обеспечить последовательную нотацию для преподавательства и анализа тем отнесенных к применению компьютеров. Iverson опубликовал его нотацию в 1962 в озаглавленной книге Язык программирования. К 1965, подсовокупность нотации была снабжена как язык программирования, после этого известный как IVSYS. Более поздно, до своего коммерчески отпуска, APL получил свое имя от названия книги. Iverson получил Пожалование Тьюринг в 1979 для его работы.
Нотация Iverson более поздно была использована для того чтобы описать IBM System/360 подвергните зодчество механической обработке, описание очень более сжатое и точно чем existing документация и показывать несколько ранее unnoticed проблем. Более поздно, a Selectric typeball специально было конструировано для писания линейного представления этой нотации. Этот своеобразнейший аспект APL, польза специального символа - установите визуально показывать деятельности, котор нужно выполнить, остаток основно неизменный сегодня.
Характеристики языка APL комплект богатые люди деятельностей работают на всей блоки данных, как комплект инструкции вектора a SIMD зодчество. Пока много компьютерных языков требовали бы итерирование к, например, добавьте 2 блока совместно, функции в деле APL типично с всеми блоками сразу. Совместно с специальным символом - установите где glyphs представляют деятельности, котор нужно выполнить, это drastically уменьшает потенциальное число петель и позволяет мало, более сжатые и более компактные программы.
Как с всеми языками программирования имели несколько декад постоянно пользы, APL эволюционировал значительно, вообще в вверх-совместимом образе, от своих более предыдущих отпусков. APL обычно статарно и взаимодействующе, и нормальн отличает читать-оценивать-напечатайте петлю (REPL) для входного сигнала команды и выражения. Сегодня, почти полностью самомоднейшая поддержка вставк составленный программировать пока несколько диалектов теперь отличают некоторой формой ориентированный предмет - программируя стройки.
Содержание |
Первым вочеловечением было последне для того чтобы быть язык программирования APL была книга описывая нотацию изобретенную в 1957 мимо Кеннет E. Iverson пока на Университет Harvard. Я опубликована в 1962, нотация описанная в книге была recognizable но дистантна от APL.
IBM был главн ответствен для введения APL к базарной площади. В 1965, часть нотации была переработана и снабдила как язык программирования. APL был сперва имеющимся в 1967 для IBM 1130 как APL \ 1130[1]. APL приобрел свою точку опоры на системах с разделением времени mainframe от последних 1960s через 1980s. Более поздно, когда целесообразно выполнять оборудование был окончательно имеющийся начинать в предыдущем к mid-1980s, много потребителей проникл их применения к окружающей среде компьютера.
Предыдущие переводчики IBM APL для IBM 360 и IBM 370 оборудование снабдило их собственное multi-user управление вместо полагаться на основных сервис сервисах, таким образом ими были системы с разделением времени в их собственном праве. Во первых введено в 1966, APL \ 360 системой был multi-user переводчик. В 1973, IBM выпустил APL.SV было продолжение такого же продукта, но который предложило делят перемеююые как середины достигнуть средств вне системы APL, such as оперативная система хранят. В mid 1970s, переводчик mainframe IBM даже был приспособлен для пользы на IBM 5100 настольный компьютер, которое имело малый CRT и клавиатуру APL, когда большинств другие малые компьютеры времени только предложили BASIC. В 1980s, VSAPL продукт программы насладился widespread использованием с CMS, TSO, VSPC, и CICS потребители.
Несколько timesharing фирм spring up в 1960s и 1970s продали обслуживания APL использующ доработанные варианты переводчика APL \ 360 IBM. В Северной Америке, лучш-известные одни находились I. P. Сподвижницы диеза, Научн Timesharing Корпорация, и компьютерная компания (TCC). С пришествием сперва более менее дорогих mainframes such as IBM 4331 и последняя компьютер, timesharing индустрия имел все исклучая после того как он исчез к mid 1980s.
Острый APL был имеющеся от I. P. Сподвижницы диеза, сперва на timesharing основание в 1960s, и более поздно как продукт программы начиная вокруг 1979. Острый APL была предварительная вставка APL с много курса усовершенствования языка, such as пакеты (способность положить one or more предметы в одиночную перемеююый), система файлов, гнездилась блоки, и делят перемеююые.
Переводчики APL были имеющимися от другого mainframe и mini-computer изготовляет также, знатно Burroughs, CDC, Data General, DEC, Harris, Hewlett-Packard, Siemens, Xerox, и другие.
Начинающ в начале 1980-ых годов, развитие IBM APL, под водительством Dr Коричневый цвет Джим, снабжено новому варианту языка APL которого содержал как свое главным образом повышение принципиальную схему гнездят блоки где блок может содержать другие блоки, плюс новые характеристики языка которые облегчили внедрение, котор гнездят блоков в workflow программы. Кен Iverson, no longer в управлении развития языка APL, левом IBM и соединено I. P. Сподвижницы диеза куда он, между прочим, направил развитие острого APL для того чтобы быть больше согласно его зрению. Iverson более поздно начал Язык j.
По мере того как другие поставщики были многодельны превратиться переводчиками APL для нового оборудования, знатно Unix- основано микрокомпьютеры, APL2 было почти всегда стандартом выбранным для новых развитий переводчика APL. Даже сегодня, большинств поставщики APL цитируют совместимость APL2, которая только причаливает 100%, как пункт продажи для их продуктов.
APL2 для IBM большие ЭВМ будут все еще имеющимся сегодня, и были сперва имеющимися для CMS и TSO вокруг 1980. Вариант Workstation APL2 (Windows, OS/2, AIX, Linux, и Solaris) последовал за очень более поздно в начале 1990-ых годов.
Первая вставка микрокомпьютера APL находилась на MCM/70, 8008- основанный обработчик, в 1973. A Малый APL на Intel 8080 вызванных EMPL было выпущено в 1977, и Softronics APL, с большой частью из функций полного APL, потому что 8080 основанных систем CP/M были выпущены в 1979.
В 1977, выпустил уровень APL дела известный как TIS APL, основанное на обработчике Z80. Оно отличало полным комплектом функций архива для APL, плюс полный экран input и переключение правых и левых аргументов для большинств двуадических операторов путем вводить ~. приставка к всем функциям одиночного характера двуадическим such as - или/.
Vanguard APL был имеющимся для Z80 CP/M- основанные обработчики in the late 1970s. APL.68000 выпущенное TCC в начале 1980-ых годов для Motorola 68000- основанные обработчики, эта система основой для продукта MicroAPL лимитированного APLX. I. P. Сподвижницы диеза выпустили вариант их переводчика APL для IBM пикокулона и PC/370 - для IBM пикокулона, эмулятор написал облегчило reusing много из Кодего mainframe IBM 370. Arguably, самый лучший известный переводчик APL для компьютера IBM был STSC's APL*Plus/PC.
В начале 1980-ых годов, Аналогическ Корпорация превратились Машина APL, который было обрабатывать блока компьютер конструировал быть запрограммированным только в APL. Были фактическ 3 блка обработки, workstation потребителя, IBM ПИКОКУЛОН, где были вписаны и отредактированы программы, Motorola 6800 обработчик побежал переводчик APL, и аналогический обработчик блока который исполнил примитивов. Во время своего введения машина APL была правоподобна самая быстрая имеющяяся система APL. Хотя технологическим успехом, машина APL был отказ маркетинга. Первоначальный вариант поддержало одиночный процесс одновременно. At the time проект был прерыван, конструкция была закончена для того чтобы позволить множественным потребителям. Как резерв, необыкновенный аспект машины APL был что архив workspaces был организован таким что одиночные функция или перемеююый которая были поделены много workspaces существовали только раз в архиве. Несколько из членов проекта машины APL ранее проводили несколько леты с снабжать Burroughs APL \ 700.
На одном этапе, CMicrosoft cCorporation запланировал выпустить вариант APL, но эти никогда материализуемые планы.
Предыдущее издание 1978 Rodnay Zaks от Sybex был Microprogrammed вставка APL ISBN 0895880059 будет вполне, полным перечислением источника для microcode для PDP/обработчиком LSI-11 снабжая APL. Это может быть веществом его тезиса PhD.
Над очень широким комплексом проблем домены (математика, наука, инженерство, конструкция компьютера, robotics, визуализирование данных, actuarial наука, традиционный DP, cEtc) APL весьма мощными, выразительно и сжатый язык программирования, типично установил в взаимодействующую окружающую среду. Оно первоначально было создано, между прочим, как дорога описать компьютеры, путем выражать математически нотация в rigorous дороге смогла быть интерпретирована компьютером. Легко выучить но некоторые программы APL могут принять некоторое время понять, специально для пришельца. Немногие другие языки программирования предлагают всестороннюю функциональность блока APL.
Не похоже на традиционно составленным языкам программирования, Кодий в APL типично составлено как цепи monadic или двуадическо функции и операторы действовать дальше блоки. По мере того как APL имеет много нештатные примитивы (функции и операторы, показанные одиночным символом или комбинацией немного символов), она не имеет функцию или предшествование оператора. Предыдущие вставкы APL не имели контролируйте структуры (сделайте или пока петли, если-после этого-другие), но путем использование деятельностей блока, использование составленный программировать стройки были справедливые обязательно. Например, функция iota (которая производит одноразмерный блок, или вектор, от 1 к n) может заменить для-петлю итерирование. Более недавние вставкы APL вообще вклюают структуры расширенного контроля, таким образом подача структуры данных и управления программы может быть ясно и чисто отделилась.
Окружающая среда APL вызвана a workspace. В workspace потребитель может определить программы и данные, т.е. значения данных существуют также вне программ, и потребитель может манипулировать данные без необходимости для того чтобы определить программу. Например,
задает вектор значения 4 5 6 7 к n;
добавляет 4 к всем значениям (давая 8 9 10 11) и печатает их (возвращенное значение заданное на конце заявления к перемеююому использующ стрелку назначения показывает переводчиком APL);
печатает сумму n, т.е. 22.
Потребитель может сохранить workspace с всеми значениями, программами и состоянием исполнения.
APL well-known для своей пользы комплекта non-ASCII символами будут выдвижением традиционной арифметики и алгебреической нотацией. Иметь одиночные имена характера для SIMD функции вектора односторонни что APL включает компактное образование алгоритмов для преобразования данных such as вычислять Игра Conway жизни в одной линии Кодего (пример). В почти всех вариантах APL, теоретически по возможности выразить любую computable функцию в одном выражении, that is, в одной линии Кодего.
Из-за своих сконденсированной природы и non-standard характеров, APL иногда был термин «язык write-only«, и чтение программа APL, котор может во-первых чувствовать как расшифровывать Египетское hieroglyphics. Из-за необыкновенного характер - комплект, польза много программников специальная клавиатуры с keytops APL для authoring Кодий APL. Хотя будут различные дороги написать Кодего APL использующ только характеры ASCII[2], in practice, оно почти никогда не сделано. (Это может быть подуманы, что поддержало тезисы Iverson около нотация как инструмент мысли[цитации].) Большая часть if not все самомоднейшие вставкы использует стандартные планы клавиатуры, с специальными mappings или Редакторы метода входного сигнала к характерам non-ASCII доступа. Исторически, купель APL своеобразнейша, с алфавитными знаками upper case курсива и чистосердечными цифрами и символами. Большинств поставщики продолжаются показать характер APL - установите в custom купель.
Защитники APL требуют что примерами so-called Кодего write-only будут почти беспеременно примеры плохих программируя ошибок практики или послушника, которые могут произойти в любом языке. Защитники APL также требуют что они далекие производительными с APL чем с более обычными компьютерными языками, и что работу средства программирования можно снабдить в значительно меньше времени и с значительно немногими программниками чем использующ другую технологию. APL препятствует индивидуалу разрешить более трудные проблемы более быстро. Также, был компактн и terse, APL одалживает наилучшим образом к развитию средства программирования большойа диапазон по мере того как сложность возникая от большое количество линий Кодего можно драматически уменьшить. Много защитников и практикующий врачи APL осматривают программировать в стандартных языках программирования, such as COBOL и Java, как сравнительно нудно. APL часто найден где врем-к-рынок важн, such as с торгуя системы.
Iverson более поздно конструировал Язык программирования j использует ASCII с digraphs вместо специальных символов.
Очень просто примером неподвижно требовал бы несколько линий Кодего в большинств non-одевает языки программирования будет генератор номера лотереи выбора 6 (от 1-40) случайно, завершает с не гарантировать никакие повторные номера, и сортировать результаты в восходщем порядке:
↑6? 40
Following выражение виды список слова, котор хранят в матрице x согласно длине слова:
X [⍋X+.≠ ';]
Following функция «жизнь», написанная в Dyalog APL, принимает булевскую матрицу и высчитывает нового поколение согласно Игра Conway жизни:
В following примере, также Dyalog, первая линия задает некоторое Кодего HTML к переменному «txt» и после этого использует выражение APL для того чтобы извлечь все бирки HTML, возвращающ текст только как показано в последней линии.
Following выражение находит все основные номера от 1 к r (предполагая начало индекса 1). Как в времени, так и в космосе, вычислением будет o (² r).
(∼R∈R°.×R) /R←1↓ιR
From right to left, это намеревается:
APL был уникально в скорости с он смог выполнить сложные деятельности матрицы. Например, очень большое умножение матрицы приняло бы только немного секунд на машине которая была очень более менее мощна чем котороесегодня. Были и технически и хозяйственные причины для этого преимущества:
Широко процитированная бумага «машина APL» (authored Phil Abrams) perpetuated миф APL сделал pervasive пользу ленивая оценка где вычисления фактическ не были бы выполнены до тех пор пока результаты не быть необходимы и после этого только те вычисления только требовали. Очевидная (и легкая для того чтобы снабдить) ленивая оценка J-вектор : когда monadic iota сталкивает в Кодем, держит как a представление вместо быть высчитанным сразу, таким образом сохраняющ некоторое время также, как память.
Хотя этот метод не был обобщен, он овеществляет механизм выживания языка самый лучший: не определять заказ скалярных деятельностей. Even as окончательн после того как я унифицирован X3J10, APL настолько высоки данн-параллельно, оно дает implementors языка большую свободу к деятельностям план-графика как можно эффективно. Как рационализаторства компьютера such as сверхоперативная память, и SIMD исполнение стало имеющим на рынке, программы APL сдержанные с меньшими экстренным деталями потраченными усилием re-оптимизируя низкоуровневыми.
Сегодня, большинств деятельность при языка APL осуществляет под оперативной системой $етМичрософта $етШиндошс, с некоторой RABOTой вниз Linux, Unix, и Осмий макинтоша. Сравнительно меньшяя деятельность при APL осуществляет сегодня на больших ЭВМ.
APLNow (бывш APL2000) предлагает предварительный переводчик APL работает под Linux, Unix, и Windows. Оно поддерживает автоматизацию Windows, поддержки вызывают к оперативной системе и потребителю - определенному DLLs, имеют предварительную систему файлов APL, и представляют в настоящее время уровень развития языка APL. Продукт APL2000 будет предварительным продолжением STSC'номенклатура товаров успешно APL*Plus/PC и APL*Plus/386 s.
Dyalog APL предварительный переводчик APL работает под Linux, Unix, и Windows. Dyalog имеет завоевательные выдвижения к языку APL вклюают новую ориентированный предмет - характеристики, многочисленнNp повышения языка, плюс последовательная namespace модель используемая для обоих своя поверхность стыка автоматизации Microsoft, также, как родние namespaces. Для платформы Windows, Dyalog APL предлагает плотно внедрение с Microsoft. Сеть, плюс лимитированное внедрение с платформой развития студии Microsoft визуально.
IBM предлагает вариант IBM APL2 для систем IBM AIX, Linux, солнца Solaris и Windows. Этот продукт будет продолжением APL2 предложенного для mainframes IBM. IBM APL2 был arguably самой влиятельной системой APL, которая снабдила твердый стандарт вставкы для следующего комплекта выдвижений язык, фокусируя на, котор гнездят блоках.
Предложения ограничиваемые MicroAPL APLX, full-featured переводчик 64 битов для Linux, Windows, и Apple Осмий макинтоша системы.
Soliton связывает предложения переводчик SAX (острый APL для Unix) для систем Unix и Linux, который будет более последующее развитие I. P. Продукт APL сподвижниц диеза острый. Не похоже на большинств другим переводчикам APL, Кеннет E. Iverson имел некоторое влияние в блоках гнездят дорогой, котор снабдил в остром APL и SAX. Почти все другие вставкы APL последовали за курсом установленным IBM с APL2, таким образом некоторые важные детали в остром APL отличают от других вставк.
Программы APL нормальн интерпретировано и часто составлено. В реальности, большинств составители APL переведено источник APL к lower level языку such as C, передающ machine-specific детали к lower level составителю. Составлением программ APL была част обсуждаемая тема в конференциях. Хотя некоторые из более новых повышений к языку APL such as, котор гнездят блоки представляли язык все больше и больше трудно составить, идея составления APL находится все еще под развитием сегодня.
В прошлом, составление APL было сосчитано как середины достигнуть скорости исполнения соответствующей к другим mainstream языкам, специально на больших ЭВМ. Несколько составителей APL достигли некоторых уровней успеха, однако сравнительно маленьких усилия развития потраченного на APL над летами пошли к улучшать составление в машинный код.
Как случай двигая программы от одного переводчика APL поставщика к другим, программы APL APL беспеременно потребует изменений к их содержанию. В зависимости от составителя, переменные объявления могли быть необходимы, некоторым характеристикам языка было бы нужно извлечься или избежаться, или программам APL было бы нужно быть очищенным вверх по in some way. Некоторые характеристики языка, such as функция исполнять (оцениватель выражения) и различное отражение и introspection функции от APL, such as способность возвратить текст функции или материализовать новую функцию от текста, не просто практически для того чтобы снабдить в составлении машинного кода.
Коммерчески составитель был принесен к рынку мимо STSC в mid 1980s как расширение к продукту программы VSAPL IBM. Не похоже на более самомоднейшим составителям APL, этот продукт произвел машинный код который исполнил бы только в окружающей среде переводчика, его не был по возможности для того чтобы исключить компонент переводчика. Составитель смог составить много скалярных и vector деятельности к машинному коду, но он положился бы на обслуживаниях переводчика APL для того чтобы выполнить some more предварительные функции, rather than пытает составить их. Однако, драматически speedups произошли, специально для тяжело итеративного Кодего APL.
Вокруг такого же времени, книга Составитель APL Тимоти Budd появлено в печать. Эта книга детализировала конструкцию переводчика APL, написанную внутри C, который выполнил некоторые оптимизирования such as сплавливание петли специфический к потребностям языка блока. Исходный язык был APL-как в что немного правил языка APL были изменены или ослабили для того чтобы позволить более эффективное составление. Переводчик испустил бы Кодего c после этого были составлены и снаружи бега хорошее workspace APL.
Сегодня, скорость исполнения более менее критически и много популярных языков снабженным использованием фактически машины - инструкции интерпретированы на продолжительности времени. Burroughs/Unisys APLB переводчик (1982) был первым для использования динамического дифференциального составления произвести Кодего для APL-специфически фактически машины. Оно recompiled on-the-fly по мере того как обозначения изменили их функциональные смысли. В дополнение к извлекать parsing и некоторая проверка погрешностей от GLAVNого курса исполнения, такое составление также модернизирует повторные вход и выход user-defined функциональных операндов. Это избегает установки стога и take-down для функции позвоненные операторами APL built-in such as уменьшает и каждое.
ВЕРШИНА, составитель APL исследования, имеющийся от Змейки Острова Исследования Inc. ВЕРШИНА составляет плоский APL (подсовокупность ISO N8485) в SAC, функциональный язык блока с параллельной семантикой, и в настоящее время бежит вниз Linux. Вершин-произведенные пользы Кодего сплавливание петли и сужение блока, алгоритмы специальн-случая вообще имеющиеся к переводчикам (например, подъему вектора пермутирования), достигнуть уровня представления соответствующего к тому из Fortran.
APLNext VisualAPL системой будет отклонение от обычной системы APL в что VisualAPL поистине. Сетчатый язык полно взаимо--действующее с другим . Microsoft. Сеть языки such as VB.Net и C#. VisualAPL будет своиственно Unicode-основанным предметом - ориентированным и. Пока VisualAPL включает большую часть из характеристик вставк APL legacy, язык VisualAPL удлиняет legacy APL для того чтобы быть. Сет-уступчиво. VisualAPL хозяйничается в стандартной студии IDE Microsoft визуально и как такое, invokes составление in a manner идентичное к тому из другого. Сетчатые языки. Путем производить. Сетчатое Кодий продолжитеное по времени общего языка (CLR), он использует составителя Microsoft just-in-time (JIT) для того чтобы поддержать трицатидвухразрядное или 64ое-разрядн оборудование. Существенное представление скорост-поднимает излишек legacy APL было сообщено, специально когда (использован опционный) сильный печатать на машинке аргументов функции.
APL к C# переводчик имеющийся от систем Causeway графических. Этот продукт был конструирован для того чтобы позволить Кодего APL, переведенное к соответствующему C#, для того чтобы побежать вполне вне окружающей среды APL. Составитель Causeway требует архива продолжитеного по времени функций блока. Некоторое speedup, иногда драматически, видимо, но случается on account of оптимизирования своиственные в Microsoft . Сеть рамки.
APL делает ясное различение функции и операторы. Функции принимают значения (перемеююые или константы или выражения) как аргументы, и возвращают значения в результаты. Операторы (aka higher-order функции) взятие действует как аргументы, и отнесенное возвращение, выведенные функции в результаты. Например функция «суммы» выведена путем прикладывать оператора «уменьшения» к функции «добавлению». Прикладывающ такого же оператора уменьшения к «потолку» действуйте (возвращает большой 2 значений) создает выведенную «максимальную» функцию, которая возвращает самый большой группы (вектора) значений. В языке j, Iverson заменил термины «глагол» и «наречие» для «функции» и «оператора».
APL также определяет те характеристики построенные в язык, и представленные символом, или фикчированной комбинацией символов, как примитивы. Большинств примитивами будут или функциями или операторами. Кодирвоанием APL будет больш процесс писания non-примитивных функций и (в некоторых вариантах APL) операторов. Однако рассмотрены, что будут немного примитивов ни функциями ни операторами, само заметно назначением.
APL всегда был рецензирован для своего выбора уникально, non-standard характера - комплекта. Замечание что некоторые учат его обычно идут пылкими ревнителями показывает что будет некоторый вес позади Iverson'идея s нотация использовала вносит изменения. В начале, были немногие конечные устройства которые смогли воспроизвести характер APL - комплект - самые популярные одни использовать IBM Selectric механизм печати вместе с специальным элементом типа APL. Над временем, с повсеместным применением высокомарочных приспособлений графического дисплейя и печатать, проблема купели характера APL больш была исключена; однако, проблема входа характеров APL требует пользы редакторы метода входного сигнала или специальные mappings клавиатуры, которые могут расстроить beginners привыкнули к другим языкам. С популяризацией Unicode стандарт, который содержит характер APL - установите, проблема получать требуемые купели кажет poised пойти прочь.
От точки зрения потребителя, дополнительные характеры могут дать APL специальные элегантность и concision по возможности в других языках, использующ мнемонику символов визуально функций, котор они представляют. Или оно может вести к смешоному STEPENи сложности и unreadability, типично когда символы зашнурованы совместно в одиночную массу без любых комментариев. Или может быть unreasonably трудно и времена - уничтожающ для того чтобы войти после этого более поздно редактируйте те заявления APL.
Заметьте мнемоники связывая характер APL с письмом: вопросительный знак на Q, сила на P, rho на R, базисная величина на B, зашифруйте на N, модуль на M и так далее. Это делает его легко для English-language диктора напечатать APL на машинке на клавиатуре non-APL обеспечивая одно имеет визуально обратную связь на one 's экране. Также, этикеты были произведены для приложения к стандартным клавиатурам, или на фронте ключей или на верхней части их.
Более последняя диаграмма клавиатуры, применимые для APL2 и других самомоднейших вставк, имеющиеся: План соединения для окон.
Все символы APL присутствуют внутри Unicode (хотя некоторые продукты APL не могут пока отличать этим):
| ' | ( | ) | + | , | - | . | / | : | ; | < | = | > | ? | [ | ] |
| \ | _ | ¨ | ¯ | × | ÷ | ← | ↑ | → | ↓ | ∆ | ∇ | ∘ | ∣ | ∧ | ∨ |
| ∩ | ∪ | ∼ | ≠ | ≤ | ≥ | ≬ | ⊂ | ⊃ | ⌈ | ⌊ | ⊤ | ⊥ | ⋆ | ⌶ | ⌷ |
| ⌸ | ⌹ | ⌺ | ⌻ | ⌼ | ⌽ | ⌾ | ⌿ | ⍀ | ⍁ | ⍂ | ⍃ | ⍄ | ⍅ | ⍆ | ⍇ |
| ⍈ | ⍉ | ⍊ | ⍋ | ⍌ | ⍍ | ⍎ | ⍏ | ⍐ | ⍑ | ⍒ | ⍓ | ⍔ | ⍕ | ⍖ | ⍗ |
| ⍘ | ⍙ | ⍚ | ⍛ | ⍜ | ⍝ | ⍞ | ⍟ | ⍠ | ⍡ | ⍢ | ⍣ | ⍤ | ⍥ | ⍦ | ⍧ |
| ⍨ | ⍩ | ⍪ | ⍫ | ⍬ | ⍭ | ⍮ | ⍯ | ⍰ | ⍱ | ⍲ | ⍳ | ⍴ | ⍵ | ⍶ | ⍷ |
| ⍸ | ⍹ | ⍺ | ⎕ | ○ |
Дополнительные характеры APL были имеющимися мимо overstriking один характер над другими. Например, журнал символ был сформирован путем overstriking переносP с переносомO. Это осложнило исправлять ошибки и редактировать линии программы. Это может предельно быть причина для предыдущих программ APL иметь некоторый плотный тип - они были трудны для того чтобы редактировать.
Много overstrikes показанных в вышеуказанной таблице, хотя апеллирующ, фактическ не использованы. Новые overstrikes были введены поставщиками по мере того как они произвели варианты APL портняжничанные к специфически оборудованию, характеристикам системы, системе файлов, и так далее. Более потом, печатающ стержни и предыдущий APL катоднолучевые стержни были способны показывать произвольные overstrikes, но как компьютеры быстро заменил стержни как data-entry приспособление, характер APL, котор поддержка теперь была обеспечена как ROM генератора характера APL или мягкий характер - комплект представленный дисплейным устройством. С пришествием Windows, характеры APL были определены как как раз другая вполне купель, таким образом различение между будучи исключанными характерами overstruck и стандартными характерами.
Более последние стержни IBM, знатно IBM 3270 станции индикации, имели расположением другой клавиатуры которое будет основа для некоторых из самомоднейших планов клавиатуры APL in use сегодня. Более лучшие стержни, namely дисплейные устройства вместо принтеров, ободрили развитие более лучших редакторов полного экрана, которые имели measurable улучшение в считываемости урожайности и программы.
APL длиной имел малое и fervent основание потребителя. Оно было и все еще популярно в применениях финансовохозяйственных и страхсбора, в имитациях, и в математически применениях, часто где разрешение изменяет част или где в речь дикторов радио и телевидения производит чрезмерно сложность. APL был использован в широкий выбор смыслов и для много и поменянных целей. Озаглавленный информационый бюллетень «Закавычить-Квадом» предназначенным к APL опубликован с 1970s разделом SIGAPL ассоциации для вычисляя машинного оборудования (Закавычить-Квад будет именем характера APL используемого для входного сигнала и выхода текста).
Главным образом из-за своего нотация инфикса и своим вниманием на взаимодействии с компьютером, APL может быть идеально окружающая среда для быстро раскрытия взаимодействующего Языки специфического домена. Несмотря на присутсвие non-standard характеров в характере APL - установите, оно будет по возможности для потребителя домен-специфически языка снабженного в APL для писания просто программ (или сценариев) состоя единственно слов, номеров, и знакомой пунктуации. До как поздно как mid-1980s, APL timesharing поставщики предложили применения поставленные in the form of языки специфического домена. На I. P. Остро система с разделением времени, workspace вызвало ВОЛШЕБСТВО 39 предложенный доступ к данным по финансовохозяйственных и авиакомпании плюс изощренный (на время) изображать диаграммой и сообщать, in the form of язык специфического домена. Другим примером будет workspace GRAPHPAK поставленный с APL2 IBM; вариант демонстрации как APL2, так и GRAPHPAK можно downloaded для Windows.
APL также был использован в многочисленнnLs metaprogramming применения. Дали внешние данные поменяли время от времени, программы APL были использованы для того чтобы составить части или завершить разделы Кодего написанные в других языках such as Fortran, COBOL, или Java. Одно применение использовало APL для того чтобы произвести Кодего FORTRAN существенной модели линейного программирования. Как такие, было подуманы, что было Кодий FORTRAN слишком большим удобно быть понятым одиночной или малой группой в составе индивидуалы. Однако, с этим подходом, профилактическое обслуживание не представило никакой барьер. Подобные подходы были использованы где таблицы консолидации поддерживали снаружи APL смогли немедленно быть преобразованы в большие программы COBOL выполнили обязательно вычисления консолидации. Нудный шаг ранее требовал нескольких человекодней, namely изменения к длинней программе COBOL, практически был исключен. Подобные вещи были сделаны в конец испустили Кодего Java.
Интерес в APL устоичив склоняет с 1980s. Это было частично из-за отсутсвия курса переселения от performant вставк mainframe к предыдущим low-cost алтернативам компьютера и наличия инструментов пользователя высок-урожайности вычисляя such as Microsoft первенствует и Доступ Microsoft. Эти будут соотвествующие платформы для может быть применениями APL mainframe в 1970s и 1980s. Некоторые потребители APL проникли к Язык программирования j, который предлагает более предварительные характеристики. Последн, склонением было также должный в части к росту MATLAB, Октава GNU, и Scilab. Эти научные вычисляя одевать-ориентированные платформы снабубегут взаимодействующий вычисляя опыт подобный APL, но больше походят обычные языки программирования such as Fortran, и используют стандартный ASCII.
Notwithstanding это склонение, находки APL продолжали пользу в некоторых полях, such as исследование бухгалтерии (Требования к PhD бухгалтерии Stanford)
APL был унифицирован ANSI рабочая группа X3J10 и ISO/IEC Совместная технически рабочая группа 3 подкомитета 22 комитета 1. Язык APL сердечника определен в ISO 8485:1989, и выдвинутый язык APL определен в ISO/IEC 13751:2001.
|
Custom Search
|
© Авторское право 2011 WorldLingo. Все права защищены.