I took a quick look at J and find it rather obscure. Can only guess that the computation model is something procedural. A language so far off the beaten path should have better introductory documentation. Can it to more than shuffle character arrays?
J is as easy to pick up as using an ordinary calculator. Reading J can be as hard as reading mathematical notation. It is obscure in the same way as any other mathematical notation. What does:
x
signify in a third grade classroom? J is off the beaten path of programming languages because it is designed to be immediately useful for mathematics, and not just the higher level Phd stuff, but ordinary tasks that 3rd graders perform.
It looks unusual because it starts from the point of view of notation and is compact in exactly the same way that
*
is compact in C, Python, VBA etc. It is directly applicable in a third grade classroom because:
3 * 4
3 x 4
3 times 4
are isomorphic notations. What J does is extend the number of notations that are accessible from the Latin character set encoding to include compact notations for counting and summing and all sorts of other things. But it still provides the sort of operations that are useful to young students and which they commonly perform on a calculator.
Ken Iverson won a Turing Award largely on the back of APL. After 30 years of field use, he developed J in the late 1980's to in part address its shortcomings. Then for two decades he sold J as a commercial product. More recently it was GPL'd.
Math for the Layman is only the tip of the iceberg fro what lives on jsoftware.com. And it all tends to be about that level of quality.