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

# J504 Release Highlights and Overview

The main feature of J504 is J64. This true 64 bit J engine runs in Linux64 and Windows XP64 on AMD Athlon or Opteron and Intel EM64T systems. These 64 bit systems run all their 32 bit applications unchanged as well as new 64 bit apps. J64 gives the J programmer full access to the 64 bit address space, including memory mapped files. This is not just another incremental increase in processor speed or data paths. The increase in address space is truly significant for appropriate applications.
The J User License (JUL) is free for 504!
See 504 for a quick summary of changes from the previous release.
J has a console interface called Jconsole and a GUI interface called Jwd. Use Jwd for an easier, user-friendly introduction to both standard and new features. In Windows, start Jwd with the blue J icon created in program group J by the install. In Unix, start Jwd by running jw in the J directory (for example, ~/j503a/jw).
The system includes 3 online books that are introductions: J Primer by Eric Iverson, Learning J by Roger Stokes, and J for C Programmers by Henry Rich. They vary in approach and you can probably benefit from reading all three. Hopefully you will find one which matches your requirements and outlook.
Whether you are new to J or an old hand, it is a good idea to start by exploring the Jwd menu.

# Menu

Help Browse the help to get an idea of what is there and how to navigate.
Studio Demos are example applications. Run them to get an idea of what J can do. The code is all there, so later on you can look to see exactly how it is done. Run the plot demo. Labs can teach you all kinds of things. Labs are a series of steps where the computer gives you the next piece of information, shows you examples, and then lets you experiment before proceeding.
Tools Execute IDE extensions (customized with Edit|Configure).
Run Load definitions from files and run services such as Project Manager and Debug.
Edit Find and replace; customize your system; etc.
File Commands for working with scripts and other files.

# J User License

You must have a J User License (JUL) to program in J.
J can be installed on any number of platforms and systems for free. All J installations are complete and there are no 'crippled' versions. End user applications (runtime apps) built with J that don't provide a J programming interface can be used without a JUL.

# User Manual

If you are new to J, be sure to read the J System Overview.
The User Manual has been reworked for the 504 release. Material previously in these notes have been moved to the manual, new chapters have been added, and some old chapters have been updated.

# Index

If you don't find what you want in the index for the online help books, try Edit|Find In Files for a general and powerful search of html help.

# PDF Books for Hardcopy

www.jsoftware.com has downloadable PDF versions of all the J books that are included in online html format with the release. The PDF format is particulary useful for printing hardcopy pages, chapters, or even entire books. There are additional publications available at the web site.

# Summary of changes in 504 from 503

The main feature of 504 is J64 for Linux64 and XP64.
See Release Notes for a summary of J Engine changes.
A J installation has 3 parts: (Binary, Library, and Help). A full release has all 3 in a single package. Beta releases have 3 packages. Noun JVERSION has release info and is displayed in Help|About J. When reporting problems to the J forum it is useful to provide this information in the report.
Plot has been rewritten to provide a clean base for future development. The code is modular, for example, output commands are independent from calculations, so that a plot can now be directed to another format such as EPS. Layout calculations are more accurate, permitting a tighter fit of various plot decorations (labels, tic marks, etc), and ultimately providing a larger window for the actual graphics. For a summary of changes, see Plot Changes.
J now uses the PCRE (Perl Compatible Regular Expression) engine on all platforms. The PCRE library is distributed in the J Binary installation. The PCRE engine is much faster than the old regex library used in previous J Windows releases and provides useful Perl extensions to the core POSIX definitions. See Regular Expression in the User Manual.
Function call depth in previous releases was limited to about 500. The limit is now about 10,000 (PocketPC limit is about 100). This limit is intended to stay within the stack allocated to J by the host. If the stack isn't large enough, you get a crash rather than a limit error. If you suspect problems in this area, do the following simple test:

       g=: 3 : 'g c=: >:y.'
       g 0
    |limit error: g
    |   g c=:>:y.
       c
    10004

Big files: The J64 (1!:x) file primitives properly support files >:2^31. The J32 (1!:x) support is limited. In particular, file size (1!:4) and directory (1!:0) report file size as _1 (in Unix the directory file size for files >:2^32 is the 32 bit truncated 64 bit value). In Windows J32, load script bigfiles to work with big files (it could be modified to work in Unix J32).
The (1!:x) file primitives no longer attempt to keep the file pointer unchanged over operations.
Learning J by Roger Stokes and J for C Programmers by Henry Rich have both been updated for this release.
There are 2 new labs: 'Queens and Knights' and 'Special Searches'.
Unix jconsole uses editline for line recall (rather than readline).
Emacs aficiondos should see Emacs in the User Manual for information on how to integrate Emacs into J development with both Jconsole and Jwdp.
LF is the default line end for J engine output in both Windows and Unix. Previously the Windows default was CRLF. Windows profile and configure force LF. You can override this with 9!:37.
New version of solitaire with bug and cosmetic fixes.
Bug fixes discussed in the J Forum are included in this release.

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