Category:J
![Language](http://static.miraheze.org/rosettacodewiki/thumb/2/27/Rcode-button-language-crushed.png/64px-Rcode-button-language-crushed.png)
This programming language may be used to instruct a computer to perform a task.
Official website |
---|
Execution method: | Interpreted |
---|---|
Type safety: | Safe |
Type strength: | Strong (but regular) |
Type checking: | Dynamic |
Lang tag(s): | j |
See Also: |
the J language
J is a notational programming language designed for interactive use.
It is an array language; data is universally structured as rectangular arrays.
It is a functional language; creation and composition of functions is emphasized.
Object-module and imperative techniques are supported, but not required.
The J programming language was designed and developed by Ken Iverson and Roger Hui. It is a closely related successor to APL, also by Iverson which itself was a successor to the notation Ken Iverson used to teach his classes about computers in the 1950s.
Reading J
J is meant to be read with the aid of a computer. J sentences are single lines and trying variations and simplifications of an expression is common practice. The first step in understanding any J sentence is to understand the data you started with and the data which resulted. When learning how a J sentence works, you can also try simpler sentences with the same data or perhaps related data.
Unless you attend an institution which has made a J interpreter available to you through your web browser (or preinstalled on your machine), if you want to see how J works you should probably install a copy of J -- or you can try one of the "try me" links, below. If you want to understand how to experiment with alternative expressions you should probably study some of its documentation.
For example, the phrase (+/ % #)
finds the average of a list of numbers.
<lang J> (+/ % #) 1 2 3 2</lang>
To understand how this works, you might try working with simpler sentences and their variations.
<lang J> +/ 1 2 3 6
+/4 5 6
15
# 1 2 3
3
# 2 3 4
3
6 % 3
2
15 % 3
5
(+/ % #) 4 5 6
5</lang>
By themselves, these experiments mean nothing, but if you know that +/ was finding the sum of a list and # was finding the length of a list and that % was dividing the two quantities (and looks almost like one of the classical division symbols) then these experiments might help confirm that you have understood things properly.
J on RosettaCode
Discussion of the goals of the J community on RC and general guidelines for presenting J solutions takes place at House Style.
Jers on RosettaCode
- Roger Hui: contributions, J wiki
- Tracy Harms: contributions, J wiki
- Dan Bron: contributions, J wiki
- Arie Groeneveld: contributions
- Raul Miller: contributions, J wiki
- Jose Quintana: contributions, J wiki
- Ric Sherlock: contributions, J wiki
- Avmich: contributions
- VZC: contributions
- Alex 'bathala' Rufon: contributions, J wiki
- David Lambert:contributions
try me
Want to try one of those cryptic J lines you see peppered through RC? Try pasting it into the web interface for buubot (broken link) (a Perl IRC bot which has a J evaluation mode: just prefix your line with jeval).
If you want to be a bit more interactive, and get some guidance from J gurus, you can join the actual J IRC channel on Freenode, #jsoftware. Buubot and several other J eval bots run there. If you don't have an IRC client you can try freenode's web interface (or just give it a quick spin). More details about the J IRC community is available.
If any of that piques your interest, and you want to explore a little more, you can download J and join the J forums.
Subcategories
This category has the following 3 subcategories, out of 3 total.
@
- J examples needing attention (1 P)
- J Implementations (empty)
- J User (39 P)
Pages in category "J"
The following 200 pages are in this category, out of 1,413 total.
(previous page) (next page)S
- Strange plus numbers
- Strange unique prime triplets
- String append
- String case
- String comparison
- String concatenation
- String interpolation (included)
- String length
- String matching
- String prepend
- Strip a set of characters from a string
- Strip block comments
- Strip comments from a string
- Strip control codes and extended characters from a string
- Strip whitespace from a string/Top and tail
- Strong and weak primes
- Sub-unit squares
- Subleq
- Subset sum problem
- Substitution cipher
- Substring
- Substring/Top and tail
- Subtractive generator
- Successive prime differences
- Sudan function
- Sudoku
- Suffix tree
- Sum and product of an array
- Sum and product puzzle
- Sum digits of an integer
- Sum multiples of 3 and 5
- Sum of a series
- Sum of divisors
- Sum of elements below main diagonal of matrix
- Sum of first n cubes
- Sum of primes in odd positions is prime
- Sum of square and cube digits of an integer are primes
- Sum of squares
- Sum of the digits of n is substring of n
- Sum of two adjacent numbers are primes
- Sum to 100
- Summarize and say sequence
- Summarize primes
- Summation of primes
- Sunflower fractal
- Super-d numbers
- Super-Poulet numbers
- Superellipse
- Superpermutation minimisation
- Sutherland-Hodgman polygon clipping
- Sylvester's sequence
- Symmetric difference
- Synchronous concurrency
- System time
T
- Table creation
- Table creation/Postal addresses
- Take notes on the command line
- Tarjan
- Tau function
- Tau number
- Taxicab numbers
- Teacup rim text
- Temperature conversion
- Terminal control/Clear the screen
- Terminal control/Coloured text
- Terminal control/Cursor positioning
- Terminal control/Dimensions
- Terminal control/Display an extended character
- Terminal control/Hiding the cursor
- Terminal control/Inverse video
- Terminal control/Ringing the terminal bell
- Ternary logic
- Test a function
- Test integerness
- Text between
- Text processing/1
- Text processing/2
- Text processing/Max licenses in use
- Textonyms
- The ISAAC cipher
- The Name Game
- The sieve of Sundaram
- The Twelve Days of Christmas
- Thiele's interpolation formula
- Three word location
- Thue-Morse
- Tic-tac-toe
- Time a function
- Time-based one-time password algorithm
- Tokenize a string
- Tokenize a string with escaping
- Tonelli-Shanks algorithm
- Top rank per group
- Topic variable
- Topological sort
- Topological sort/Extracted top item
- Topswops
- Total circles area
- Totient function
- Towers of Hanoi
- Trabb Pardo–Knuth algorithm
- Transliterate English text using the Greek alphabet
- Transportation problem
- Tree from nesting levels
- Tree traversal
- Triangular numbers
- Trigonometric functions
- Triplet of three numbers
- Truncatable primes
- Truncate a file
- Truth table
- Tupper's self-referential formula
- Twelve statements
- Twin primes
- Two identical strings
- Two sum
- Two's complement
- Type detection
U
- Ulam numbers
- Ulam spiral (for primes)
- Ultra useful primes
- Unbias a random generator
- Undefined values
- Undulating numbers
- Unicode strings
- Unicode variable names
- Unique characters
- Unique characters in each string
- Universal Turing machine
- Unix/ls
- Unprimeable numbers
- Untouchable numbers
- Untrusted environment
- UPC
- Update a configuration file
- URL decoding
- URL encoding
- URL parser
- Use another language to call a function
- Useless instructions
- User defined pipe and redirection operators
- User input/Graphical
- User input/Text
- UTF-8 encode and decode
V
- Validate International Securities Identification Number
- Vampire number
- Van der Corput sequence
- Van Eck sequence
- Variable declaration reset
- Variable size/Get
- Variable size/Set
- Variable-length quantity
- Variables
- Variadic function
- Vector
- Vector products
- Verhoeff algorithm
- Verify distribution uniformity/Chi-squared test
- Verify distribution uniformity/Naive
- Vibrating rectangles
- Video display modes
- Vigenère cipher
- Vigenère cipher/Cryptanalysis
- Visualize a tree
- VList
- Vogel's approximation method
- Voronoi diagram
W
- Wagstaff primes
- Walk a directory/Non-recursively
- Walk a directory/Recursively
- Walsh matrix
- War card game
- Wasteful, equidigital and frugal numbers
- Water collected between towers
- Wave function collapse
- Web scraping
- WebGL rotating F
- Weird numbers
- Welch's t-test
- Wieferich primes
- Wilson primes of order n
- Window creation
- Wireworld
- Wolstenholme numbers
- Word break problem
- Word frequency
- Word ladder
- Word search
- Word wheel
- Word wrap
- Wordiff
- Wordle comparison
- Words containing "the" substring
- Words from neighbour ones
- World Cup group stage
- Write entire file
- Write float arrays to a text file
- Write language name in 3D ASCII
- Pages using duplicate arguments in template calls
- Execution method/Interpreted
- Typing/Safe
- Typing/Strong (but regular)
- Typing/Checking/Dynamic
- Programming Languages
- Programming paradigm/Dynamic
- Programming paradigm/Functional
- Programming paradigm/Imperative
- Programming paradigm/Procedural
- Programming paradigm/Reflective
- Programming paradigm/Tacit