2009-09-29 10 views
7

Я знаю, что все 3 связаны друг с другом, и я видел немало ответов на проблемы в Project Euler, написанные на J, и несколько написанных K. Что мне интересно, что бы вы предложили и где бы вы посоветовали собирать материалы, чтобы узнать это?Изучение J/K/APL

+1

@Mark: Скомпилированный C, просмотренный в шестнадцатеричном просмотре, тоже не имеет особого смысла, но логика для этого беспорядка одинакова. – MPelletier

ответ

2

Учитывая естество отдельных языков, а также наличие материала, я собираюсь пойти с J.

текущим интерпретатором J не является открытым исходным кодом, но язык спецификация. Поэтому, если официальный переводчик J больше не будет бесплатным, проект с открытым исходным кодом может его реализовать.

K, похоже, мертв и заменен на Q. Все лицензии на него, как представляется, являются собственностью, и интерпретатор оказывается сложнее найти (поскольку они пытаются продать kdb, а не Q).

Я не могу найти версию APL для использования.

+1

Для APL: попробуйте NARS2000 –

+0

Я нахожу, что J - самая полезная вещь в настоящее время. Я тоже жалуюсь на отсутствие современное решение с открытым исходным кодом, тем более, что J Software не заинтересована в поддержке одной из моих платформ, но похоже, что ситуация может измениться, поскольку, похоже, возрождение интереса к этим языкам. –

8

APL

Создано Кеннета Айверсон как оригинальный язык программирования массива. Использует набор символов, отличных от ASCII, поскольку зарезервированных слов нет. В British APL Association хранится обновленный список переводчиков (как бесплатных, так и коммерческих), а также информация о языках, поддерживаемых APL, которые описаны ниже.

A +

Создано Артур Уитни в качестве последующей деятельности в связи с APL. Исходный код доступен под лицензией GPL, а также включенное расширение XEmacs. Загрузите с website.

J

создал Кеннет Айверсон и Роджер Hui, это требует только ASCII символы. Источник использовал деньги, хотя недавно был выпущен под GPL. Загрузите с website.

K

Другой Артур Whitney язык, это также использует ASCII символы. Компания, стоящая за ней, с тех пор вышла из эксплуатации на языке, но есть открытый источник Kona.

Q

Построенный на вершине K включать SQL-подобный запрос/объединить возможности (таблицы встроенный контейнер), этот язык построен на обработку больших объемов данных. Некоммерческую лицензионную версию можно загрузить с website.


Что касается того, что активно используется, Q является довольно популярным в области финансов, в то время как J имеет некоторую поддержку со стороны научного сообщества и любителей. Эти два являются лучшим выбором для программирования массивов в наши дни.

0

Существует бесплатный переводчик APL называется NAS2000, но я считаю, что это полезно только для доказательства концепции. Иногда я получаю неправильные результаты (я запрограммировал в APL несколько лет назад на все: от 8K IBM 1130 до ПК/XT, и иногда я думаю, что результаты ошибочны), а в других случаях они просто ужасно медленны. Лучший случай в J работает так же быстро, как и все. Я никогда не использовал K, я попытался сделать около 100 проблем Эйлера в J, и я только начинаю понимать ранг. (Около 10 из них, я сделал в D, один в Lisp с поддержкой вычислений в J и один в целочисленном линейном программном пакете, который я тогда оставил для D, когда обнаружил, что он не даст мне правильный ответ, несмотря на то, что я которые, как полагают, являются закодированными ограничениями.

J - это, по сути, математический язык, и он хорошо подходит для большинства проблем Эйлера, так что он просто ухаживает и делает их, просматривая сайт jsoftware.com, когда вы Нужно, это самое лучшее, что вы можете сделать.