From J Wiki
Jump to: navigation, search

Getting Started in J

You've heard about J and you wonder what all the fuss is about. Here's how to get started.

First, though, a warning: J is not like other languages you know. Sure, you're a pro: you can be using the latest object-oriented web-enabled widget language just a few days after you hear about it. But J's not going to be like that.

J isn't just another way to declare variables and write loops. J is a way of thinking big: describing an algorithm by looking at it as a whole and breaking it into its natural parts. You're going to have to spend some time learning what those natural parts are. Your skill as a program designer will help, but it will be fighting against your learned tendency to think small.

In a few hours, you will see that J is something special. In a few days, you will see that you will be able to learn to think this way. In a few weeks, you will be more productive than you ever were with more normal languages. And if you can give J a few months, you will change the way you think. Even when you go back to a scalar language, you'll write better code because you can plan in J.


J systems can be installed and distributed for free. See System/Installation and follow the Quick Start Guide for your computer. Follow the path to get all the addons and the Qt IDE.

Scout Around

Before you get down to learning J, spend a few minutes taking a tour. You need to see that J is going to be worth the effort! The J Studio will show the power of J.

Sign Up for the Forum

If you're still interested, you'll have to start learning instead of watching.

You need a helping hand! Fortunately, every experienced J user remembers what being a beginner was like, and many are ready to help with any question you may have. Look over the J Forums and sign up for at least the Programming forum. Post your questions to the Forum freely; they'll be answered quickly.

Get Serious About Learning

When you are ready to commit to learning J, here are some ideas depending on your learning style.

Reference Material

The recommended reference for learning the J language is NuVoc, which describes the vocabulary and primitives of J and contains many explanatory essays. Consult NuVoc when you have a specific J question to be answered. From the J session you can get to the NuVoc start page with Shift+F1, or to the page for a J word by putting the cursor in front of the word and pressing Ctrl+Shift+F1.

If you are dissecting a sentence, you can get NuVoc information by clicking on a primitive in the dissect display.

NuVoc is restatement of the original J Dictionary and its summary Vocabulary. The Dictionary is the official definition of the language, by Kenneth Iverson, who as a young man at the dawn of the computer age created the first array programming language (APL) which he refined into J as his crowning effort; and Roger Hui, Ken's disciple and the implementer of the J interpreter. The Dictionary is a masterpiece of brevity and is a treasured resource for experienced users.