Hacker News new | ask | show | jobs
by kd0amg 3044 days ago
i suspect that, to capture the full value of J, one needs to already know the array-oriented paradigm (or at least have a strong motivation to learn the two in parallel)

Yes, that's the power that's specific to J. Having a library of functions like anagram index, nub, antibase, matrix inverse, etc. can be done in pretty much any language. So can using really short names for everything (have a look at the J implementation). What J has that isn't so easy to export is the way first-order functions work on arbitrarily high-rank arguments, and even a lot of APLs don't let you mix argument ranks in the way that J does (e.g., vector-matrix addition). Without the inherently rank-polymorphic function application semantics, it would just be an idiosyncratic pointfree programming syntax for people who don't want to use anything higher than second-order functions (and maybe have a grudge against static parsing).