J Programming Language | Learn J Programming | J Programming Example | J Programming Tutorial | J Programming Books

J Programming Language | Learn J Programming | J Programming Example | J Programming Tutorial | J Programming Books

J Programming Language | Learn J Programming | J Programming Example | J Programming Tutorial | J Programming Books

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.

To avoid repeating the APL special-character problem, J uses only the basic ASCII character set, resorting to the use of the dot and colon as infections[ to form short words similar to digraphs. Most such “primary” (or “primitive”) J words serve as mathematical symbols, with the dot or colon extending the meaning of the basic characters available. Also, many characters which in other languages often must be paired (such as [] {} “” “ or <>) are treated by J as stand-alone words or, when infected, as single-character roots of multi-character words.

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 and network performance analysis.

Like the original FP/FL languages, J supports function-level programming via its tacit programming features.

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



J permits point-free style and function composition. Thus, its programs can be very terse and are considered difficult to read by some programmers.

The “Hello, World” program in J is

'Hello, world!'

Data types and structures

J supports three simple types:

  • Numeric
  • Literal (Character)
  • Boxed

Of these, numeric has the most variants.

One of J’s numeric types is the bit. There are two-bit values: 0, and 1. Also, bits can be formed into lists. For example, 1 0 1 0 1 1 0 0 is a list of eight bits. Syntactically, the J parser treats that as one word. (The space character is recognized as a word-forming character between what would otherwise be numeric words.) Lists of arbitrary length are supported.


J’s documentation includes a dictionary, with words in J identified as nouns, verbs, modifiers, and so on. Primary words are listed in the vocabulary, in which their respective parts of speech are indicated using markup. Note that verbs have two forms: monadic (arguments only on the right) and dyadic (arguments on the left and on the right). For example, in ‘-1’ the hyphen is a monadic verb, and in ‘3-2’ the hyphen is a dyadic verb. The monadic definition is mostly independent of the dyadic definition, regardless of whether the verb is a primitive verb or a derived verb.

Thanks for reading the post keep visits for more updates.

About Ashok.cse

Hi, I'm currently studying for the Bachelor of Technology In Computer Science from Rajasthan Technical University. I am the web developer with 3+ years of experience. my range of developer services including creating the design for new apps and web platforms or building UI design for mobile, tablets or desktops. making UX designs wireframes and layouts concepts and redesigns websites are adapting to mobile and responsive design. I have worked with many clients. I am working professionally with WordPress And Adobe tools.

View all posts by Ashok.cse →

Leave a Reply

Your email address will not be published. Required fields are marked *