On Fri, Apr 19, 2013 at 11:52 AM, Skip Cave <[email protected]> wrote:

> The key dichotomy here is "programming language" versus "mathematical
> notation". Students learned math notation in grade school. Then they might
> learn a programming language at some later time. But those two languages
> were treated as two completely different paradigms, rather than just a
> natural progression of gradually-increasing notational power. The ideal
> programming language should look identical, or at least very similar, to
> the notation we learn in school. Then everyone would become a "programmer"
> as soon as they wrote their math equations on a computing device.

Sorry for the late reply. Have you had much success with actually
using APL for pen & paper calculations? I've not, but I'm curious
about those who have.

When I tried it, I found that the way traditional notation optimizes
for polynomials makes it much easier to calculate, since the built-in
assumptions about associativity make it easier move terms around in an
equation. APL, on the other hand, is cumulative. If you have c=a-4-b,
it takes some thought to move the 4 around to get (c+4)=a+b.

Also, I found the "traditional" notation had fancy symbols that I was
very used to manipulating and that made the results easier to
understand. For example, Maxwell's equations use div/curl plus
partials. Bayesian posterior probability uses special notation for
conditional probability, like p(X|Y)=p(Y|X)p(X)%p(Y), which gets more
"fancy" if you start actually integrating over distributions. And in
geometry, distinguishing the Lie derivative from the exterior
derivative is easy in geometric notation, but I don't know how you'd
write it in J or APL.

Do you find an APL-like notation useful for manipulating more
"symbolic" concepts like this?

All of this is a long way to say that I don't think it was just the
difficulties of the symbols, or even mere inertia, that kept APL from
replacing traditional math notation.

Regards,
Johann
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to