Essays and Articles for Newcomers
Motivational
Why Choose to Learn J? - If you are not sure, this may convince you.
Describing J in a Tweet - Describe J in 240 characters. Written when Twitter was still Twitter.
Joey Tuttle's Benchmark of J - How fast can you find the inverse of a 50X50 matrix? About 100,000,000 times faster than you used to!
Foundational
The Essentials of J - Ken Iverson's presentation to the 1996 APL Conference.
English Grammar and J - Roger Hui traces the development of English grammar notation in the Array Languages.
Teaching J Syntax - J is not Java, an exploration of some of the differences.
Starting out - One author's approach to learning J.
Order of Execution - The order things is done in J is very consistent.
Data Structures - A look at some of data structures and how they could be represented in J.
Unpuzzling J Expressions - Having trouble deciphering J? This approach might help.
Array Manipulation - There are so many ways to manipulate arrays in J.
A Fine Line - A gentle introduction to cells, frames and rank.
Rank - A more traditional approach to explaining Rank.
Use of Rank in J - A much deeper look at Rank, one of the most powerful concepts in J.
Use of Negative Rank in J - Negative rank can expose even more power in array manipulation.
Locales - Call them Name Spaces or Classes. Locales are J's way of creating modular code.
Debugging Control Errors - One approach to figuring out where your control structures are breaking down.
Primitives
Identity Matrix - There are so many ways to create the Identity Matrix.
Inner Products - Some interesting uses of the Inner Product
Reflexive Adverb - Who knew that using the same value for both arguments could be so useful?
Insert - There are so many ways that the Insert adverb can be used.
Under - Once you see what Under can do you'll wonder how you did without it.
Memoization - Maybe a little advanced, but a good tool for improving program efficiency.
Indeterminate - It has a purpose and the best practice is to get rid of it as soon as possible.
Trains - Trains are a foundational combinator in J.
Sorting versus Grading - A deeper dive into ordering in J.
Odometer - So many ways to create odometers.
Permutations - The many ways to group items.
Permutation Index - Ordering the many permutations.
Inverse Permutation - Creating a function that undoes the permutation.
Do While - an example of the power of tacit J.
Tutorials
A Taste of J - Take a quick look at some of the things that J can do.
Exploring Kadane's Algorithm - A very deep look at how to approach Kadane's Algorithm in J.
Linear Programming in J - The simplex method of Linear Programming in J.
Converting Tacit to Explicit - An introduction to Tacit programming and conversion to Explicit forms.
J in 5 minutes - A quick look at how J can be used for calculating annuities.
Insights into Quicksort - Roger Hui explains how J can express Quicksort with economy and power.
Sequential State Machine Introduction - Sequential State Machines are powerful parsing tools.
Math
Pascal's Triangle - Several ways to create Pascal's Triangle.
Hamming Numbers - Using J to find the Hamming numbers.
Levenshtein Distance - Changing one string to another in minimum steps.
Longest Increasing Subsequence - Henry Rich's solution in fully commented form.
Polynomials Intersection - A straightforward explanation of finding polynomial intersections.
Primes Less Than n - There are many ways to find the primes less than a given integer in J.
Repeated Squaring - Use squaring to calculate arbitrary powers of integers.
RSA Challenge - Cryptography and the classic Martin Gardner challenge of RSA.
Power Sets - Several approaches to building Power Sets.
Partitions - Generating partitions needs to be done carefully.
Set Partitions - A set partition is a collection of disjoint subsets whose union is the whole set.
Minors of Array - A minor of size one less than the size of a matrix obtains by removing row i and column j using Outfix (\.)
Tree Display - Building trees in an array language.
Strings
Text Formatting - Formatting text to specified number of characters per line.
Substring Replacement - Replacing substrings that do not overlap with a fix for overlapping occurrences.
Non-Overlapping Substrings - Making sure that valid substrings do not overlap.
Parentheses Matching - A J way to check that your parentheses match.
Puzzles and Games
Knapsack Problem - A classic problem of fitting the most stuff into a knapsack.
The Game of Moo - Moo is also known as Mastermind.
Roman Numerals - Converting Arabic numerals into Roman Numerals and back again.
Pages in category "Essays and Articles for Newcomers"
The following 58 pages are in this category, out of 58 total.
E
- Essays/A Fine Line
- Essays/control error
- Essays/DataStructures
- Essays/Do While
- Essays/English Grammar
- Essays/Hamming Number
- Essays/Identity Matrix
- Essays/Indeterminate
- Essays/Inner Products
- Essays/Insert
- Essays/IntegerKnapsack
- Essays/Inverse Permutation
- Essays/J Tweets
- Essays/JKT Benchmark
- Essays/Kadane Algorithm; J Tutorial
- Essays/Levenshtein Distance
- Essays/Longest Increasing Subsequence
- Essays/Memo
- Essays/Minors
- Essays/moo
- Essays/Negative Rank
- Essays/Non-Overlapping Substrings
- Essays/Odometer
- Essays/Parentheses Matching
- Essays/Partitions
- Essays/Pascal's Triangle
- Essays/Permutation Index
- Essays/Permutations
- Essays/PolynomialsIntersection
- Essays/Power Set
- Essays/Primes Less Than n
- Essays/Quicksort
- Essays/Rank
- Essays/Reflexive
- Essays/Repeated Squaring
- Essays/Roman Numerals
- Essays/RSA Challenge
- Essays/Set Partitions
- Essays/Sorting versus Grading
- Essays/Substring Replacement
- Essays/Teaching J Syntax
- Essays/Text Formatting
- Essays/The Essentials of J
- Essays/Trains
- Essays/Tree Display
- Essays/Un-puzzling expressions
- Essays/Under
- Essays/WhyJ