2015-08-27 3 views
3

Я использую Dyalog APL, но я обнаружил, что некоторые функции недоступны в gnu-apl. Существуют ли большие различия между этими двумя реализациями APL и всеми другими реализациями APL? Каков наиболее часто используемый компилятор APL?Как выбрать между компиляторами APL?

+0

Какие новые функции gnu-apl вы сочтете полезными? – Lobachevsky

ответ

6

Для всех практических целей все коммерческие реализации APL являются переводчиками.

Есть несколько поставщиков, APL2000, Dyalog, IBM и MicroAPL, возможно, другие. Три некоммерческих усилия APL, которые я знаю сегодня, - это GNU APL, NARS2000 и NGN APL, которые работают в вашем браузере.

Не думаю, что я мог точно догадаться, какая система наиболее часто используется. Это может зависеть от того, какую систему APL вы использовали в (отдаленном) прошлом: пользователи STL с временным разделением времени или APL * Plus \ ПК могут быть склонны идти с APL2000, Sharp может работать с Dyalog, а пользователи мэйнфрейма APL2 IBM могут придерживаться APL2 для ПК. Часто существует непрерывность важных функций, которые могут сделать различные APL более или менее привлекательными для разных пользователей.

Несмотря на то, что существует язык ядра APL, поставщики обычно добавляют языковые расширения и очень существенные запатентованные усовершенствования своих версий, которые включают, но не ограничиваются файловой системой APL, интерфейсы к системным средствам, таким как .DLL или .SO-файлы, .Net, Java, Windows и улучшения дизайна форм, объектно-ориентированные функции и т. д.

Итак, есть большие различия между различными реализациями APL. Это вопрос того, что вам нужно.

1

Я сделал профессиональный работа используя и Dyalog APL и apl2000'S APL + серия, но больше на последнем. Возможно, из-за этого мне нравится больше, но это очень важно. Каждый из них имеет ряд проприетарных расширений для основного языка. Некоторые, такие как структуры управления, реализованы очень похожим образом, некоторые, например определенные операторы, уникальны для одной системы. Но я обнаружил, что почти любую последовательность или алгоритм можно легко перевести с одного на другой, и мне еще предстоит найти что-либо, что можно сделать в одном, что нелегко сделать в другом, возможно, с помощью несколько иной подход. Я никогда не работал профессионально в IBM APL2, но это не так.

Смежные вопросы