[Home]

Table of contents


Last updated on: SAT JAN 23 IST 2021

J for Joy!

This is an introductory tutorial on a programming language called J. The aim is to acquaint you with this rather unique language, and to convince you that even an elementary knowledge of this language can benefit you significantly.

Getting started

  1. Page 1: Why learn J?
  2. Page 2: Basic concepts
  3. Page 3: A first taste of J
  4. Page 4: Basic building blocks: easy ones
  5. Page 5: Basic building blocks: tree handling

Case studies

After reading through the above pages, you'll have a basic understanding of the language. Even with this basic understanding you'll be in a position to reap some harvest. I shall show these with some case studies.

Numerical analysis

These are all taken from my Numerical Analysis course. The students had no prior exposure to J, and only a moderate exposure to computing. The classes took place in a chalk-and-talk situation. After introducing a new numerical method to them, I needed some way to do some practical problems. Writing a full computer program in C was clearly out of the question. Using calculators was too time consuming. The J app in android provided the perfect solution. Each page presents a method, and then provides simple J snippets to explore the ideas. The snippets are all deliberately kept simple, so that I can explain them to the students.
  1. Numerical differential equations
  2. Nonlinear equations
  3. Matrix algorithms
  4. Numerical integration
  5. Interpolation

Spirograph

A spirograph is a toy to produce pleasing parametric curves (cycloids, epicycloids etc) by turning a toothed wheel inside or outside another. It is quite easy to produce the curves using elementary J. Details...

Creating 3D objects

There is an ASCII format called obj format for storing 3d objects with poyhedral geometry. I use J to produce them from mathematically, and then use ArtOfIllusion to render them artistically. Details...

Geometric algebra

What J is in the world of compuater languages, geometric algebra is in the world of mathematics. Both are brainchildren of eccentric geniuses. The usefulness of brilliance of the ideas are beyond doubt, and yet they have not found their ways in the mainstream. I decided to create a elementary geometric algebra engine using J. Details...