3 ms·
I would highly recommend GNU APL over A+. GNU APL is a full-fledged, modern implementation of the official ISO APL 2 standard, supporting things like Unicode a
by etatoby 8y ago
I would highly recommend GNU APL over A+.
GNU APL is a full-fledged, modern implementation of the official ISO APL 2 standard, supporting things like Unicode and modern terminals, and is currently maintained by very friendly people. While A+ is a very old, partial implementation of APL that requires a dedicated font and 8-bit encoding to work, and has not been maintained for decades. (IIRC)
Documentation for APL 2 can be found online, but I would recommend getting a second hand copy of the classic Gilman Rose book. I bought mine online for a few dollars.
- patrickg_zill 8y agoIs there a particular edition of the Gilman Rose book you would recommend?
- etatoby 8y agoSorry for the late reply. I seem to have the 1976 edition (I didn't think of checking the edition before buying mine! DOH!) I would say it was good enough for learning the language, although the references to mainframes and terminals are obsolete. (Picturesque, if you like that sort of thing, but obsolete.) If you can get the latest edition (1991) it's probably better. I ended up buying that book because from all the online resources I was able to find at the time, I failed to understand the gist of the language, or how you are supposed to think in order to solve problems in APL. Which is profoundly different from all other languages, and which the book taught very well. I've also been using paper books to learn programming since forever, so it's a workflow I'm used to. That being said, there are some free resources that you could try first: http://misc.aplteam.com/robertson/APL1&2.pdf http://misc.aplteam.com/robertson/APL1&2.pdf - http://misc.aplteam.com/robertson/APL3&4.pdf http://misc.aplteam.com/robertson/APL3&4.pdf - https://www.dyalog.com/uploads/documents/MasteringDyalogAPL.pdf https://www.dyalog.com/uploads/documents/MasteringDyalogAPL.... The latter is about Dyalog APL, a dialect of APL, so not all of it will be applicable to GNU APL. About the font, any Unicode font will do, but for graphical consistency I would recommend downloading this one. You can use it with any modern terminal application: https://www.dyalog.com/uploads/files/download.php?file=fonts_and_keyboards/Apl385.ttf https://www.dyalog.com/uploads/files/download.php?file=fonts... About the keyboard, if you are on Linux you can just add one of several APL variants to your existing national keyboard. You will have to designate an APL key (eg. the useless menu key) to use as a special alt-like key to input APL symbols. If you're not comfortable typing blindly, you can buy a keyboard with APL symbols on it, or alternatively buy or print stickers to apply to yours. I spent an entire summer learning APL for fun (that was way before GNU APL existed, so I had to struggle with various proprietary interpreters, either freeware or demoware, on top of the weird language + font + keyboard!) I then went on to compete in Code Golf challenges and other random things using it and had a blast! I still miss APL. IMHO none of the successors (J, K) come close to the beauty of its symbols. It's also a very different way of writing algorithms (sometimes called "multi-dimensional array programming") that is not found in modern programming languages. Feel free to contact me (username + gmail) for any questions you may have.