From J Wiki
Jump to: navigation, search

Learning J

An excellent introduction and overview of the core J language.

Roger Stokes - Copyright Roger Stokes Available in a J installation or here. New version available here or as a PDF at Skip Cave's site.

J for C Programmers

This book is a guide for making the transition from scalar languages to J. Early chapters describe J in terms of C, but the reader is weaned off C as the book progresses, and many J programmers ignorant of C have found the book a useful companion.

Henry Rich - Copyright Henry Rich

Available on the web, in a J installation (via Help|Help), File:JforC20071003.pdf, or as a Microsoft Word 2003 file. The book is available in hardcopy from The book makes reference to a File:Jforc.ijs.

The book has been translated to German, see j_fuer_c.pdf

J Reference Card

The J Reference Card, a 2-page summary of J primitives, is available File:J602 RefCard color letter current.pdf

A German transcription on 6 pages is available here j_schnell_referenz_20070616.pdf

Brief Reference

This brief reference gives informal descriptions of most of the J primitives.

Chris Burke and Clifford Reiter pdf

Computers and Mathematical Notation

A 15 page discussion of Mathematical Notation and J

Kenneth E Iverson - Copyright Jsoftware Available here.

At Play With J

Copyright Eugene E McDonnell, 1993--2005.

A cookbook by the late Eugene McDonnell on how to go about doing mathematical investigations, with the accent on commercial algorithms and recreational puzzles. With numerous curious asides, the style is chatty, not at all formal or pendantic, revealing tricks of the trade that career mathematicians often don't like to own up to.

The book is a compilation of 41 articles originally published in Vector between 1993 and 2005. The examples have been updated and tested under J6.02. As such it represents a painless well-motivated way into J for the novice.

Buy the book at: or consult the wiki pages actually used by the J-community for revising the book (which also serves as its Table of Contents).

Easy J

A 44-page introduction to J for newcomers to the language. The authors provide this without copyright and it is available for free distribution and it can be edited or altered without acknowledgement.

Linda Alvord, Norman Thomson Available in pdf or Word DOC

Efficient Programming (On the Desktop and the Web)

This is an introduction to data processing with J, including many examples. If you own an iPad, and want to learn the language, take this iBook as a companion for the famous iPad version of J.


  • High performance data manipulation with J
  • Comparison of Bitmap Images
  • Hide messages in Bitmap Images (Steganography)
  • A password generator (brute force and word list)
  • Easy made QR codes (Python and J interaction)
  • A complete GUI (GTK) application in J (Time Tracking)
  • Cross platform components for a web application (not J)
  • How to create a web application in desktop style (Time Tracking)

Please Note:

Currently, this book is available in German only! It might be translated to English and other languages in the future. But there is no time frame for that.

Available exclusively (for now) at the Apple iBookstore (Switzerland, Germany, Austria):

ISBN: 978-3-033-03831-8

by Martin Saurer

Fractals, Visualization & J, 3rd ed.

An introduction to mathematical visualization including many fractals and using the J programming language. Designed for classroom use or individual learning. No prior experience with J is required. Experiments are hands on explorations that readers can duplicate. Topics include fractals, time series, iterated function systems, chaos and symmetry, cellular automata, complex dynamics, image processing, ray tracing and Open GL. Updated for J6.01 and including many new sections and full color throughout. View the full table of contents at [1]

Published by lulu, copyright Clifford A. Reiter 2007

Three formats are available:

Perfect bound (recommend this to your library) ISBN 978-1-4303-1980-1 from or [2]

Coil bound (for easy study -- no ISBN) only at [3]

As a PDF, (inexpensive) only from (search for reiterc)

Old second edition (out of print): Clifford Reiter - ISBN 1-895721-18-0 - Copyright Clifford Reiter Published by Jsoftware and available at

J - The Natural Language for Analytic Computing

From the book:

J is a computer language which is remarkable for the way in which it allows technical instructions for computing to be expressed with great conciseness using constructs and syntax which closely mirror those of natural language ... a fully integrated computing system with a development environment, library utilities and interfaces to a full range of mainstream computing applications such as graphics and databases ... a much closer bridge has been constructed between computer and human language than ever before.

Part 1-Basic J: In the beginning... verbs; ...and then nouns; Extensions to verbs and adverbs; Basic conjunctions and composition; Dictionary and foreign conjunction; Part 2-Advanced J: Control Words; Gerunds; Display and Files; The dot conjunction; The power conjunction; The rank conjunction; Part 3-Data Processing with J: Selection; Data structuring; Ranking and ordering; Some programming principles; Searching, finding and updating; Joining data; Partitioning; Opposites Part 4-Mathematics with J: Complex Numbers; Number bases and Polynomials; Series; Calculus and the D adverb; Numerical analysis; Randomness; Permutations and Combinations; Groups and Symmetries; Logic; Appendix A: Solutions to Exercises; Appendix B: Phrases and algorithms

Norman J Thomson - ISBN 0-86380-275-3 Available at or from Research Studies Press

See book review.

Mathematical Computing in J: Volume 1, Introduction

This book introduces mathematical computing using J -- a powerful new programming language with practical applications in mathematics, actuarial analysis, scientific research, business data processing, and education. J unifies many areas of mathematics, has a simple consistent syntax with very few rules, yet includes a large number of functions and operators as tools for thinking and problem solving.

Howard A. Peelle is a Professor of Mathematics and Computer Science Education at the University of Massachusetts, Amherst, USA. Author of over 100 published articles and several books, he is the recipient of a National Award for Innovative Excellence in Teaching, Learning, and Technology and, recently, a Fulbright Scholar Award.

Howard A. Peelle - ISBN 0-86380-281-8 Contact: Orders: Institute of Physics Publishing - or Publisher: Research Studies Press

See book review.

Network Performance Analysis

The purpose of network performance analysis is to investigate how traffic-management mechanisms deployed in the network affect the allocation of resources amongst its users and the performance they experience. This topic can be studied by the construction of models of traffic management mechanisms and observing how they perform by applying them to some flow of network traffic.

This useful volume introduces concepts and principles of network performance analysis by example, using the J programming language. J is rich in mathematical functionality, which makes it an ideal tool for analytical methods. The book favours a practical approach and develops functions in J to demonstrate mathematical concepts, thereby enabling readers to explore the underlying principles behind network performance analysis. In addition, this allows the subject to become more accessible to those who, although have a mathematical background, are not pure mathematicians.

Alan Holt - ISBN: 978-1-84628-822-7

Math for the Layman

From the book:

In 1936, Lancelot Hogben published his still-popular Mathematics for the Million, stating his objective as follows: "The view which we shall explore is that mathematics is the language of size, shape and order and that it is an essential part of the equipment of an intelligent citizen to understand this language. If the rules of Mathematics are the rules of grammar, there is no stupidity involved when we fail to see that a mathematical truth is obvious. The rules of ordinary grammar are not obvious. They have to be learned. They are not eternal truths. They are conveniences without whose aid truths about the sorts of things in the world cannot be communicated from one person to another."

Our objective is similar, but we now have new tools: the development of computer programming has provided languages with grammars that are simpler and more tractable than that of conventional mathematical notation. Moreover, the general availability of the computer makes possible convenient and accurate experimentation with mathematical ideas.

Kenneth E Iverson - Copyright Jsoftware Available in zipped html with jpg images

Exploring Math

From the book:

This book introduces a new tool (J) for exploring math, and to foster its use by applying it to a variety of topics. It provides a ramble through a variety of topics rather than a systematic study of any one of them. The book assumes that you have J at hand on a computer, and will simply show examples of exploring math with it.

Kenneth E Iverson - Copyright Jsoftware Available in pdf


From the book:

Arithmetic is the basic topic of mathematics. According to the American Heritage Dictionary [1], it concerns "The mathematics of integers under addition, subtraction, multiplication, division, involution, and evolution." The present text differs from other treatments of arithmetic in several respects:

The provision of simple but precise definitions of the counting numbers and other notions introduced.

The use of simple but precise notation that is executable on a computer, allowing experimentation and providing a simple and meaningful introduction to computer programming.

The introduction and significant use of fundamental mathematical notions (such as vectors, matrices, Heaviside operators, and duality) in simple contexts that make them easy to understand. This lays a firm foundation for a wealth of later use in mathematics.

Emphasis is placed on the use of guesses by speculation and criticism in the spirit of Lakatos, as discussed in the treatment of proofs in Chapter 5.

The thrust of the book might best be appreciated by comparing it with Felix Klein's Elementary Mathematics from an Advanced Standpoint [2]. However, I shun the corresponding title Arithmetic from an Advanced Standpoint because it would incorrectly suggest that the treatment is intended only for mature mathematicians; on the contrary, the use of simple, executable notation makes it accessible to any serious student possessing little more than a knowledge of the counting numbers.

Kenneth E Iverson - Copyright Jsoftware Available in pdf


From the book:

Calculus is at once the most important and most difficult subject encountered early by students of mathematics; introductory courses often succeed only in turning students away from mathematics, and from the many subjects in which the calculus plays a major role.The present text introduces calculus in the informal manner adopted in my Arithmetic [1], a manner endorsed by Lakatos [2], and by the following words of Lanczos from his preface to [3]:

Furthermore, the author has the notion that mathematical formulas have their "secret life" behind their Golem-like appearance. To bring out the "secret life" of mathematical relations by an occasional narrative digression does not appear to him a profanation of the sacred rituals of formal analysis but merely an attempt to a more integrated way of understanding. The reader who has to struggle through a maze of "lemmas", "corollaries", and "theorems", can easily get lost in formalistic details, to the detriment of the essential elements of the results obtained. By keeping his mind on the principal points he gains in depth, although he may lose in details. The loss is not serious, however, since any reader equipped with the elementary tools of algebra and calculus can easily interpolate the missing details. It is a well-known experience that the only truly enjoyable and profitable way of studying mathematics is the method of "filling in the details" by one's own efforts.

The scope is broader than is usual in an introduction, embracing not only the differential and integral calculus, but also the difference calculus so useful in approximations, and the partial derivatives and the fractional calculus usually met only in advanced courses. Such breadth is achievable in small compass not only because of the adoption of informality, but also because of the executable notation employed. In particular, the array character of the notation makes possible an elementary treatment of partial derivatives in the manner used in tensor analysis.The text is paced for a reader familiar with polynomials, matrix products, linear functions, and other notions of elementary algebra; nevertheless, full definitions of such matters are also provided.

Kenneth E Iverson - Copyright Jsoftware Available in pdf.

Concrete Math Companion

From the book:

This book is written as a companion to 'Concrete Mathematics' (Graham, Knuth, and Patashnik (GKP)), following it closely in its choice of topics and order of treatment, and making explicit references to it. Because this book is written in executable notation, any expression can be entered directly on a computer for experimentation. This ability to experiment with the mathematical ideas complements the treatment of GKP.

Kenneth E Iverson - Copyright Jsoftware Available in pdf.

J Phrases

The J Phrases book contains a wealth of useful J idioms and expository material, but is no longer kept up to date. For the most part, it has been superseded by other material on the wiki, in particular the Phrases, Essays and Guides.


Here are the corresponding scripts included with the J504 release.

J Primer

The J Primer is a somewhat linear approach to learning J written one of the developers of the Interface. As its title suggests, it attempts to be an introduction, using mostly the explicit definitions of verbs, a simple program to convert between Fahrenheit and Centigrade, some file usage, some plotting, and even some GUI development.

The text of this book has been added to the releases of J and is part of the online help from JSoftware. [4]

Eric B. Iverson -Copyright Jsoftware 1996 - 1998