I think that J's "killer advantage" would be that it focuses on
programming concepts which other languages bury or lose in the noise.

Personally, I use J for exploratory programming and often take those
explorations and deploy them in some other environment. Thinking about
how to implement something in J has often been helpful in finding
relatively simple solutions to otherwise complex, amorphous problems.
I have not found any other language better suited for this than J,
though I have found concepts from a variety of other languages to also
be quite useful for this, at times.

Put differently: J pressures you to express your ideas clearly. Once
that's done, it's easy to implement them in any language.

Going the other way - taking an utter mess and trying to express that
clearly and concisely? That's *painfully difficult*.

Which is not to say that messes are bad - they can be quite useful,
extremely practical and have some other advantages also - but they are
not the only good thing to aim for.

Also it can indeed be the case that other languages can express some
concepts more clearly than J. No one language can have a monopoly on
clarity, this is inherent in the structure of mathematics, if nothing
else.

That said... J's roots are in concisely documenting how computer
architectures work. And I think that's why it shines.

Finally, I should mention that I have implemented things like dicts in
VS APL (which had no nested array capabilities whatsoever). J doesn't
quite have a couple of the tools I found useful there, but that's
rarely an issue and if I cared I could reconstruct them.

As Larry Wall has been fond of pointing out: there's more than one way to do it.

Thanks,

-- 
Raul


On Wed, Jan 3, 2018 at 3:30 PM, Dabrowski, Andrew John
<[email protected]> wrote:
> Would it be fair to say that J's killer advantage over other programming 
> languages is brevity?  That you can quickly code a lot of operations, and 
> display a meaningful lot of code on one screen.
>
> At first I thought APL stood for array processing language, since APL/J are 
> so tensor-centric.  Thirty years ago J may have been the best language for 
> working with tensors, but other languages have caught up; I don't think J any 
> longer has an advantage in that domain.  And given that working with dicts 
> and trees brings one in close contact with J's worst feature, i.e. Boxes, I 
> don't think J can now be considered a strong language for data manipulation.
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to