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
