I can't pretend to either be an educator, but for my own use, I've found
that J makes for a great computational notation and a great notation for
writing about mathematics on computers, it doesn't work well for me as a
pen-and-paper notation for actually doing math.
If I'm writing something up, I'm naturally contrained to a single linear
line of text, and I don't have to worry about how long it takes me to
handwrite symbols. If I'm doing work on paper, on the other hand, I can
work in two dimensions with fractions, and it matters that I find "*" to be
a relatively slow symbol to draw.
Similarly, "traditional" notation naturally maps to simple algebraic
manipulation in a way that J doesn't. If I have
e = a + 2*b + c + d (traditional)
I can write
e - 2*b = a + c + d
while the same tokens in J,
e = a+2*b+c+d
can only naturally be "split" rather than reordered.
(e-2*b+c+d) = a
Even, then, the "split" only works for an initial element, since it's not
true that
e = a-b-c-d
is the same as
(e+c-d) = a-b
I'm not that satisfied with these examples. The point I'm trying to express
is that since J expressions are strictly cumulative, most manipulations
require an awareness of the entire expression, unlike algebraic notation,
whch builds on the associativity and commutativity of addition.
As an example, I found it much easier to work out a basic derivation of the
quadratic formula in traditional notation rather than in J notation. In J,
it would be hopeless if I didn't use the polynomial verb.
0= (c,b,a) p. x
0= ((c%a),(b%a),1) p. x
(*:-:b%a) = (((c%a)+*:-:b%a),(b%a),1) p. x
((-c%a)+*:-:b%a) = *:((-:b%a),1) p. x
(*:-:%a)*((*:b)-4*a*c) = *:((-:b%a),1) p. x
((],-) (%:(*:b)-4*a*c))%2*a) = ((-:b%a),1) p. x
x = (2*a)%~b (+,-) %:(*:b)-4*a*c
vs.
0 = c + bx + ax^2
0 = c/a + (b/a) x + x^2
b^2/4a^2 = c/a + b^2/4a^2 + (b/a) x + x^2
b^2/4a^2 - c/a = (b/2a + x)^2
(b^2 - 4ac)/4a^2 = (b/2a + x)^2
+- sqrt(b^2 - 4ac)/2a = b/2a + x
x = (-b +- sqrt(b^2 - 4ac))/2a
Writing out the J on paper took forever, with lots of fiddly little colons
and adding extra parentheses to make the expressions work. I often had to
"go back" and insert parenthesis around expressions, which isn't a problem
on a computers, but is a nuisance on paper.
Lest you think this is a trivial example, it extends (I think) to bigger
problems. If I try to imagine working my way through a typical (say)
undergraduate physics E&M problem set using J notation, I think I'd grind
to a halt.
J is optimized for feeding into a computer, not for writing on a whiteboard
or on paper. I know APL was used as a non-computer notation, but I think
the "funny symbols" actually help there, and even then it seems like such a
linear way to work.
Now, I have no easy way to extrapolate to greater educational policy, but I
can say that I'm glad to have both notations at my disposal now:
traditional for working things out symbolically and J for implementing and
experimenting numerically.
Regards,
Johann
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm