From the J FAQ:


J is a very high level general-purpose language, with a strong emphasis on functional programming and array processing. J was designed and developed by Ken Iverson and Roger Hui, and implemented by Iverson Software Inc. (ISI).

J is distinguished by its simple and consistent rules, a large set of built-in functions, powerful facilities for defining new operations, and a general and systematic treatment of arrays. It is ideal for complex analytical work, modelling, and rapid application development.

It is available on most popular hardware platforms, and the script files used to represent programs are completely portable. Only ASCII characters are used, and there are no reserved words: primitives are represented by single characters (such as + and <), or by a character followed by a period (+. for Boolean OR and <. for lesser-of, or minimum), or by a colon (+: for not-OR and <: for less than or equal).

Vectors (lists), matrices (tables), and higher-rank arrays are treated as single entities. Thus a+b adds a to b, whether they are single numbers, lists or tables.


In other words, it's another successor language to APL (which, you will note, is mentioned as little as possible). Like K, it does not require a special font (thought to be one of the reasons why APL wasn't so popular). However, apart from some success in the financial modelling community, J (and K) haven't found widespread popularity. Apparently the need to combine extremely efficient array primitives in novel ways is either less useful or harder to justify than might be hoped.