J is a high-level, general-purpose, high-performance array programming language.
J is a high-level, general-purpose, high-performance array programming language.
J is particularly strong in the mathematical, statistical, and logical analysis of data.
J systems have:
- an integrated development environment
- standard libraries, utilities, and packages
- a form designer for your application forms
- an event-driven graphical user interface to your application
- interfaces with other programming languages and applications
- integrated 2d and 3d graphics
- memory mapped files for high performance data applications
- network sockets support (TCP, UDP)
J is portable and runs on Windows, Unix, Mac, and PocketPC handhelds, both as a GUI and in a console. True 64-bit J systems are available for XP64 or Linux64, on AMD64 or Intel EM64T platforms. J systems can be installed and distributed for free. J source code is available under GPL 3.
J permits point-free style and function composition. Thus, its programs can be very terse and are considered difficult to read by some programmers.
Data types and structures
J supports four simple types:
- Numeric
- Literal (Character)
- Boxed
- Symbol (efficient atomic representation of character strings)
Of these, numeric has the most variants, and symbol sees the least use in practice.
One of J's numeric types is the bit. There are two bit values: 0, and 1. Additionally, 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 a single word. (The space character is recognized as a word-forming character between what would otherwise be numeric words.) Lists of arbitrary length are supported.
Find more at jsoftware.com.