3 ms·
Remarkable, I've also been learning J901 for AoC. I'm curious, what resources have you been using to learn?
by darkkindness 7y ago
Remarkable, I've also been learning J901 for AoC. I'm curious, what resources have you been using to learn?
- gmfawcett 7y agoHey, small world! :) I hope that you're enjoying it, too. Mostly I've just been using the articles and resources on the J Wiki. But I found it useful to skim through the free book, "Mastering Dyalog APL" [1] -- of course the languages aren't identical, but they're similar enough that many of the APL examples were instructive. I also have the NuVoc page on speed-dial. :) I have definitely not memorized all of those crazy verbs yet! [1] https://www.dyalog.com/uploads/documents/MasteringDyalogAPL.pdf https://www.dyalog.com/uploads/documents/MasteringDyalogAPL.... [2] https://code.jsoftware.com/wiki/NuVoc https://code.jsoftware.com/wiki/NuVoc
- xelxebar 7y agoFor whatever it's worth, there's also the older Voc[0] documentation which NuVoc is a rewrite and expansion on. The former is a heck of a lot terser and dryer, but I prefer it as a compact reference. The Voc reads more like a graduate math text, where each example serves to illustrate (often non-obvious) uses or interactions with other primitives. This means it requires careful reading, which I personally find helps me learn better. The NuVoc, on the other hand, has a lot more in the way of straightforward examples along with extensive expository prose and hyperlinking. J has somewhat peculiar terminology. This probably helps to avoid the pitfalls of overloading more familiar terms with J-nuanced meaning. Anyway, to make any headway with eithe Voc or NuVoc, one should at least be familiar with the Absolutely Essential Terminology[1]. For me, personally, that's about all the documentation I use. The mailing lists[2] are quite active, and some of the early founders of APL and J even interact extensively with beginers! Highly recommended. There are also a lot of Essays[3] that illustrate high quality J code via solving specific problems. The book "At Play With J"[4] is also a really fun read, even if you have to keep NuVoc by your side. Then, of course, there is the IRC channel. Those have been my primary sources of learning. Hope it helps! [0]:https://www.jsoftware.com/help/dictionary/vocabul.htm https://www.jsoftware.com/help/dictionary/vocabul.htm [1]:https://code.jsoftware.com/wiki/Vocabulary/AET https://code.jsoftware.com/wiki/Vocabulary/AET [2]:https://code.jsoftware.com/wiki/System/Forums https://code.jsoftware.com/wiki/System/Forums [3]:https://code.jsoftware.com/wiki/Essays https://code.jsoftware.com/wiki/Essays [4]:https://code.jsoftware.com/wiki/At_Play_With_J https://code.jsoftware.com/wiki/At_Play_With_J