The J programming language: is it useful for mathematics? I just stumbled upon the J programming language, which has the description:

J is particularly strong in the mathematical, statistical, and logical
  analysis of data. It is a powerful tool in building new and better
  solutions to old problems and even better at finding solutions where
  the problem is not already well understood.

which sounds promising.
However, I looked at some examples, and my reaction was "you've got to be joking".  E.g. here's an investigation into the Collatz problem (source):
   collatz=: -:`(>:@(3&*))`1: @. (1&= + 2&|)

   collatz 9
28
   collatz 28
14
   collatz 1
1
   collatz^:a: 9
9 28 14 7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

This makes me feel like it's more intended for code golfing, rather than serious mathematics.

Q: Is the J programming language actually useful for mathematics and mathematicians?

 A: In my opinion it's not better than other languages like C++ or Fortran. I don't know it very well but I cannot see anything that cannot be done with other "computer" programming languages.
Surely it's not more readable: for example I cannot see clearly what this code does without I see it in action:
G=: 3 : '(0&,. , 1&,.@|.)^:y i.1 0'

and probably if you try to make it more readable you avoid its main feature, because it's very coincisive.
If you want to do some mathematics with computer language, I prefer to use something like Mathematica or Matlab. Even is the free software octave and similare are very powerful.
From a program language point of view, their disadvantage is that they are script code and not compiled one, but I don't care about it for mathematical experiment.
If you want to create some machine native code, I prefer some mainstream programming language, like C++ or even fortran when needed, because if you search you can find libraries for almost everything (more about numeric calculus that symbolic one), like boost::math or biginteger.
At the end, in my opinion it's not useful because it has nothing that cannot be done with other available instruments, and its code syntax its unreadable unless you use it for many months.
A: My belief is that the language is not meant to write code for others to understand, rather we can save a lot of keystrokes once we get 
used to the language.
I mainly use J for simulating problems on probability, and also for the fun of functional programming! ( I try to maintain a list of the stackexchange problems simulations on my 
github profile )
