Node-APL: APL interpreter written in JavaScript
github.com
github.com
Which I guess pretty much boils down to more powerful operators that work on arrays and can be ranked (and a few other niceties like native complex numbers).
For me J is not much more than a very powerful calculator that I end up never using. And it's a shame because it has great ideas.
[0] I have not used APL or K extensively but I tried learning J about 3 or 4 times in my life and I always leave (and forget) it just because of its obtuse syntax (read: forks, hooks, verb trains and other point-free intricacies) and unmaintainable obsession with terseness (so much that I've been told the correct way of using J is to not be terse at all).
As for J, I disagree that it's "not much more than a very powerful calculator" -- it's backed by a deep computational paradigm, and is closer to a work of art than any other language I've seen. The power arising from the small selection of interacting primitives, the harmony of combinators built directly into the syntax, the metaphor with natural language, and much more. It's also somehow more fun and satisfying to solve problems in J than other languages.
That said, it is by far the most difficult programming language I've ever learned. I'd say it took a year of part-time tinkering before it started to click, and I'm still not an expert. But the effort was worth it just for the lesson of how different things can be.
eeeh, that's kind of an issue. A lot of apl assumes ⎕IO←1