Проект GNU объявил (http://permalink.gmane.org/gmane.org.fsf.announce/2084) о выходе GNU APL 1.4 (http://www.gnu.org/software/apl/), полностью удовлетворяющего требованиям стандарта ISO 13751 ("Programming Language APL, Extended") интерпретатора для одного из старейших языков программирования - APL (http://ru.wikipedia.org/wiki/APL_%28%D1%8F.... В новой версии реализованы интерфейсы для СУБД MySQL и PostgreSQL и добавлены две отвечающие требованиям стандарта ISO 13751 компонентные файловые системы (https://github.com/TieDyedDevil/iso-apl-cf), функционирующие с использованием SQL. Представлена реализация централизованного сервера APserver для общих переменных (shared variables (http://en.wikipedia.org/wiki/Shared_Variables)).Язык APL отличается оптимизацией для работы с массивами произвольной вложенности и поддержкой комплексных чисел, что делает его востребованным для научных расчётов и обработки данных. В начале 1970-х годов идея APL-машины дала толчок к созданию первого в мире персонального компьютера IBM 5100. APL также пользовался большой популярностью на советских ЭВМ начала 80-х годов. Из современных систем, основанных на идеях APL, можно отметить вычислительные среды Mathematica и MATLAB.
URL: http://permalink.gmane.org/gmane.org.fsf.announce/2191
Новость: http://www.opennet.me/opennews/art.shtml?num=40347
http://www.computerhistory.org/atchm//wp-content/uploads/201...
Выглядит мило. Напомнило "язык эпсилон". Думаю, математикам вполне нормально будет.
R также является наследником. Вот попробуйте (из тех кто пользуется R) найти отличие в вокрфлов http://flibusta.net/b/156597
Ну и J, который, вроде бы, из идей отбросил только особый алфавит, тоже наследник APL
({. @: }.) * (1&+ @: ] 0.01&* @: {.) ^ (}. @: }.) NB. J классный!
До сих пор по APL конференции проводятся. Сколько раз пытался понять в чем преимущество перед современными системами, той же mathematica, так и не понял. Кто-то пишет про скорость (здесь вопрос), кто-то про наглядность (здесь тоже вопрос). Может кто-нибудь разъяснит? Для исследовательской работы сейчас уже и хаскеля хватает: бесплатен, быстр, пакетов довольно много, при необходимости можно вызывать библиотеки из других языков, ну и синтаксис вполне себе математический.
>бесплатен, быстр, пакетов довольно много, при необходимости можно вызывать библиотеки из других языков, ну и синтаксис вполне себе математическийНу так всё это относится и к APL судя по всему. Так зачем менять на хаскель то, что не поломалось?
> Может кто-нибудь разъяснит?Возьмите да попробуйте. Потратите день-два, а получите непосредственное знание и собственное мнение.
Начать можно отсюда - http://dr-klm.livejournal.com/42312.html
Брал и пробовал. И J и K. Потратил месяц, получил непосредственное (это какое такое?) знание и составил собственное мнение. Сейчас хочу узнать мнение других. Теперь понятнее стало о чем я написал?
Потратил 2 месяца на погружение в J.
Субъективно - крутой язык!
1. Кода пишешь меньше в сравнении с тем же Haskell.
2. Код выполняется шустрее (будет время - запилю бенчмарки).
3. Не надо думать об алгоритмической составляющей.
4. Подход к задаче другой. Перелить из круглой бочки в квадратную данные, трансформировав их при этом - пожалуйста.Вся статистика по вычислениям собирается в 3 строки символов по 30.
Для сравнения на C ушло бы 250-500 строк кода на реализацию.
На Haskell - 27.
> Потратил месяцЗря. Стоило остановиться на третий-четвертый день.
> получил непосредственное (это какое такое?)
Это которое без посредников.
> знание и составил собственное мнение. Сейчас хочу узнать мнение других.
В таком случае стоило бы начать с описания собственного опыта и формулировки собственного мнения.
>>В таком случае стоило бы начать с описания собственного опыта и формулировки собственного мнения.А Вам стоило бы поучиться читать, не в смысле складывать слова, но и понимать их.
Из того что говорят гуру и скромного личного опыта:Ввиду компактности записи алгоритма он помещается "целиком" в оперативную память программиста.
Это (+ способ которым записывается программа в J(APL)) позволяет осуществлять "в уме" тождественные преобразования кода на манер "суперкомпиляции".
Цель преобразований --- стремиться к неким образом "нормализованной" (каждое понятие-действие один раз и ничего лишнего) записи алгоритма решения, максимально соответствующей (то есть легко расширяемой, или если не нужно в дальнейшем расширять, то максимально простой) решаемой задаче.
Кстати> Several companies have been closely related to the commercial use and development of APL. Among them, IBM has a special place. The early development of APL took place at IBM, and this is also where the first implementation of the language was made. As a result of an experiment called SCAMP, a desktop calculator – an interactive APL programming device, was created in 1973, followed in 1975 by the first IBM personal computer, IBM 5100 – a system intended for the educational market which had APL optionally installed. (Another, much smaller company, also succeeded in creating their own personal computer, MCM/70, with a built-in APL system – even a bit earlier than IBM!)
>APL также пользовался большой популярностью на советских ЭВМ начала 80-х годов.Брехня.
Оно там было нелюбимой зверушкой и каждый нормальный Ынженер первым делом при деплойменте, после генерации системы без этого чуда, имел персональную пустую ленту для всяких самиздатовских книжек :)