>> << Ndx Usr Pri Phr Dic Rel Voc !: wd Help User

# J System Overview

J is a high-level, general purpose programming language. The J system provides: an engine for executing J; various front ends that provide user interfaces to the J engine; a library, written in J, that provides an IDE (interactive development environment), numerous tools, utililties, demos, tutorials; and online documention.

# J Engine (JE)

The JE executes J sentences and maintains state information such as the definitions of verbs, the values of nouns, and the execution stack. The JE acts as a server to a J Front End that provides a user interface. All other JE interfaces with the world outside its own execution and state are through a few 'foreign conjunctions' that enable the JE to work with files, call routines in external libraries (DLLs), and access host services.
See Release Notes for details on J Engine changes in this, and earlier releases.

# J Front End (JFE)

A JFE provides a user interface to the JE. Typically a JFE takes user input from the keyboard, gives it to the JE, and then displays the formatted result that the JE returns on the screen. Jconsole is a command line JFE and Jwd is a GUI based JFE that implements wd.

# wd (window driver)

wd is a command processor implemented in a JFE that executes commands that create and manage forms, controls, events, etc. The JE passes wd arguments to the JFE for execution and the JFE returns command results as well as calls the JE with event information for user actions such as button presses and menu command selection. wd extends J so that the J programmer can create GUI interfaces to J programs. wd is portable and provides the same capabilities in Windows and Unix.

# Jwd

Jwd is a JFE that implements wd. Jwdp, the portable Jwd, is implemented in Java and runs in Unix and Windows. Jwdw, the Windows specific Jwd, is implemented in C++ with the Win32 API and supports the standard wd commands as well as additional Windows specific features..
In Windows, start Jwdw with the blue J icon. If you want to run Jwdp in Windows see Jwdp - red J icon.
In Unix, start Jwd by running jw in the J directory (e.g., ~/j503a/jw). This can be made easier by creating an icon, copying jw to a directory in the path, creating a link, etc.

# Jconsole

Jconsole is a command line interface to the JE. It does not implement wd. Jconsole is very similar in Windows and Unix and can be run from a host console and can be used like any other console command. The jconsole binary in Windows is called jconsole.exe and in Unix it is called jconsole.
In Windows, start Jconsole by running jconsole.exe. For example, if J is installed in directory c:\j503a: click Start taskbar button, select Run, and type c:\j503a\jconsole. Or you can type that line in any DOS console window. If you use Jconsole a lot you may want to create a bat file (perhaps called jc.bat) in a directory in PATH.
In Unix, start Jconsole by running jc in the J directory (e.g., ~/j503a/jc). This can be made easier by creating an icon, copying jc to a directory in PATH, creating a link, etc. Jconsole uses editline and identifies itself as 'jconsole'. The input history from previous sessions is loaded from file ~/.jhistory (if it exists) when Jconsole starts and the new input lines are added to the file on exit. Create an empty ~/.jhistory file to make use of this feature. Editline is covered by BSD and NetBSD copyrights.

# Script Library

J definitions are stored in ASCII plain text files called scripts. J scripts usually have a filename suffix of ijs. The system includes an extensive script library and related files that include an IDE, tutorials, demos, tools, and utilities.

# profile

When a JFE starts it loads profile.ijs from the library to initialize the system. The Jwd profile uses wd to create a complete IDE.

# Interactive Development Environement

The same Jwd IDE is available in Windows and Unix. The IDE is written in J/wd and is implemented in library scripts. It is open and available for study and modification.

# Portability

J is portable across platforms. An application written for Jconsole or Jwd is as close as you can get to 'write once, run anywhere'. The JE is as identical as possible and wd, except for a few Windows specific features, is portable.
A Jwd application developed in Unix will run in Windows on either Jwdw or Jwdp.
A Jwd application developed in Windows in either Jwdp or Jwdw will run in Unix as long as the Windows specific features of Jwdw are not used.

>> << Ndx Usr Pri Phr Dic Rel Voc !: wd Help User