4 ms·
I struggle to understand why you would want to use it instead of array orientated languages like R, Julia, Matlab or Python/numpy. When is terseness a feature?
by steve19 8y ago
I struggle to understand why you would want to use it instead of array orientated languages like R, Julia, Matlab or Python/numpy.
When is terseness a feature? It must make maintenance a nightmare.
- ehaliewicz2 8y agoTakes this with a grain of salt, since I haven't done much more than dabble with J, but I've heard that it (and APL) basically forces you to carefully read and fully understand the code, rather than skimming, which is generally what happens with "easier to read" languages. And since it's so dense, you don't need a lot of lines of code to do most things.
- scottlocklin 8y agoThose are only partially array oriented languages. I use J for most of my personal projects because it's terse and highly productive. From empty emacs buffer to something that works; 5x faster than developing from raw R, and I'm bad at J and decent at R. Of course if R has a package which does what I need, it's easier to use that. There's also the matter that for medium big data problems, J can do plenty that R will never be able to do. Terseness is a feature. It's also a good design in general, even though it breaks most people's brains.
- 4thaccount 8y agoWhen you say that J is faster than R, are you referring to using Jd versus dealing with R's read_csv, or are you just talking about the calculations in general for the same size dataset and just using vanilla native language constructs?
- tluyben2 8y agoNot OP but I think he is referring to speed of development, not execution?
- 4thaccount 8y agoThanks, that seems obvious now. I should not skim so much.
- jonahx 8y agoAll of the languages you mentioned are watered-down and inferior versions of the programming models invented by APL and J. By that I don't mean that APL/J are unilaterally better -- there are plenty of practical reasons to choose R/Matlab/numpy -- but they are unquestionably more beautiful and visionary. They hang together at a deep level in a way those languages do not. They are also much harder to learn, and much more fun. On the readability of APL (terrific video): https://www.youtube.com/watch?v=v7Mt0GYHU9A https://www.youtube.com/watch?v=v7Mt0GYHU9A Alan Perlis on its beauty: https://www.jsoftware.com/papers/perlis78.htm https://www.jsoftware.com/papers/perlis78.htm