J (programming language)

related topics
{math, number, function}
{language, word, form}
{system, computer, user}
{style, bgcolor, rowspan}
{@card@, make, design}
{water, park, boat}
{theory, work, human}

The J programming language, developed in the early 1990s by Kenneth E. Iverson and Roger Hui, is a synthesis of APL (also by Iverson) and the FP and FL function-level languages created by John Backus.[1]

To avoid repeating the APL special character problem, J requires only the basic ASCII character set, resorting to the use of digraphs formed using the dot or colon characters to extend the meaning of the basic characters available. Additionally, to keep parsing and the language simple, and to compensate for the lack of character variation in ASCII, many characters which might need to be balanced in other languages (such as [] {} "" `` or <>) are treated by J as stand alone tokens or (with digraphs) as part of a multi-character token.

J is a very terse array programming language, and is most suited to mathematical and statistical programming, especially when performing operations on matrices. It has also been used in Extreme Programming[2] and network performance analysis.[3]

Like the original FP/FL languages, J supports function-level programming (also known as higher-order functional programming), via its tacit programming features (note that function-level programming is not the same as functional programming).

Unlike most languages that support object-oriented programming, J's flexible hierarchical namespace scheme (where every name exists in a particular locale) can be effectively used as a framework for both class-based and prototype-based object-oriented programming.

J is not a von Neumann programming language; however, it is possible to use the von Neumann programming style.

J is a closed source albeit free-to-use software.[4]



Full article ▸

related documents
Holomorphic function
Normed vector space
Power series
Natural logarithm
Gödel's completeness theorem
Ordinary differential equation
Abel–Ruffini theorem
Tychonoff's theorem
Ideal (ring theory)
Elementary algebra
Miranda (programming language)
Scope (programming)
Transposition cipher
Key size
Objective Caml
Homological algebra
String (computer science)
Division (mathematics)
Locally compact space
Trace (linear algebra)
Cauchy–Schwarz inequality
Chinese remainder theorem
XPath 1.0
Modular arithmetic
Filter (mathematics)
Merge sort
Countable set