Features

From J Wiki
Jump to navigation Jump to search
ArrayIcon.png
Array oriented
Designed for processing of multidimensional arrays with a wide variety of data types and numerical precisions available, allowing the application of operations to an entire set of values at once without needing explicit loops.
ConciseIcon.png
Concise
Terse notation that was designed by Kenneth Iverson as a perfected form of the APL language, for which he won the Turing Award. The brevity of the syntax allows for expressive code that can perform complex operations with minimal lines of code.
FastIcon.png
Fast
Highly optimised, efficient interpreter written in C. Makes use of vectorization by using relevant SIMD depending on target architecture.
LambdaIcon.png
Point-free (tacit)
Function-level programming via point-free tacit programming. Functions can be defined without explicitly referring to their arguments using features such as hooks and forks which are practical applications of combinator calculus.
MemoryIcon.png
Small footprint
The binary file of J interpreter (as CLI or DLL) requires only 5MB of memory.
MultithreadingIcon.png
Multi-threading
Primitives for parallel program execution and threads synchronization to make your programs even faster.
OopIcon.png
Object Oriented
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.
BugIcon.png
Unique debugging tools
Built-in tool that visualizes the execution of J sentences by displaying their step-by-step breakdown. It generates an interactive graph showing intermediate results and errors.
DevicesIcon.png
Cross platform
Available for various operating systems: Windows, Linux, macOS, Android. Available also in your browser and as a cloud service.
BookIcon.png
Extensive knowledge base
On-line library of books, journals, essays and community forum.
LibraryIcon.png
Educational lab system
Number of educational code notebooks allowing interactive training of various aspects of J language from beginner to advanced.
AddonsIcon.png
Multiple add-ons
Extensions of the language for data manipulation including high-performance columnar RDBMS, computation, maths, statistics and more.