# 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