APL versus A versus J versus K? -
the array-language landscape, while fascinating, confusing no end. there reason pick 1 of j or k or apl or a? none of these options seem open-sourced -- there open sourced versions? love expand mind, remain befuddled.
the differences among these languages relatively subtle. apl "proper" has advantages, , disadvantages, of original symbolic notation. (there minor changes have been made symbol set on years, they're true enough original vision.)
the a+ language available open source. departs "classic" apls, them in keeping of core character set. sense has not been kept date technology changes. precursor k.
languages in array-language family have departed distinctive apl character set include j, k, , nial. nial uses english words instead of symbols, , has open source interpreter called q'nial. k , j rely on symbols, these drawn ascii character set. words may used in place of symbols in these languages, however, assigning definitions.
the apl family of programming languages have been proprietary since initial appearance of apl ibm product in 1964. proprietary array languages seem have more support , faster evolution of new capabilities open source alternatives @ time. i'm not sure how competitors stack against 1 another, dyalog apl has been working actively promote implementation of language current technology. apl2000 offers products unix, linux, , windows, including visualapl .net. microapl ltd offers aplx.
k specialized language no longer being marketed on own. kx systems instead marketing kdb+ database , q (query) language, both of written in k. it's powerful specialized tool, designed high-speed processing of streaming data. departs original apl approach. kx systems products expensive , users work in finance.
apl envisioned , designed ken iverson. after full career of applying , refining apl in commercial applications turned task of making "rationalized" revision, 1 corrected aspects of language he'd found himself dissatisfied on years. fresh take on theme called j. differences between j , apl sketched in paper on j software wiki. 1 noticeable change elimination of array indexing syntax. biggest feature, though, tacit form, in programs written composing functions without reference arguments. tacit j closely related "point-free" style found in functional programming languages, differs in form fundamental j language. ascii-based symbols used in j may harder read more distinctive apl characters.
for individual wanting learn array language, advice select among dyalog apl, aplx, j, , q'nial. dyalog apl (esp. windows) or aplx (esp. linux) best wants use core symbolism distinctive apl, , wants strong connection apl community whole. j may best want build web applications, or focus on math (like project euler,) , fascinated tacit style emphasizes. q'nial i'd pick if priority on open source, if priority did not mean expecting support of active os community.
update: j 7.01 has been released open source code under gpl 3. in addition there kona, variant on k. these increase options open-source array languages.
update tobia: gnu apl available under gpl. follows closely latest published iso standard on extended apl language. great open source apl implementation , being actively developed , maintained. there other interesting implementations too, example ngn apl, surprisingly well-featured , modern implementation of apl written in coffeescript (which compiles javascript.) array languages alive , in 2015.
Comments
Post a Comment