iiiwere in C. That might well happen within a month. After you have fully learned J, itwill usually be your first choice for describing a program.Becoming a J programmer doesn't mean you'll have to give up C completely; everylanguage has its place. In the cases where you want to write code in C (either to use alibrary you have in C or to write a DLL for a function that is inefficiently computed in J),you will find interfacing J to DLLs to be simple and effective.This book's goal is to explain rudimentary J using language familiar to a C programmer. After you finish reading it, you should do yourself the honor of carefullyreading the J Dictionary, in which you can learn the full language, one of the greatcreations in computer science and mathematics.
I am obliged to the reviewers who commented on earlier versions: Terrence Brannon,Michel Dumontier, Ken Iverson, Fraser Jackson, June Kim, David Ness, Richard Payne,John Randall, Ewart Shaw, and Keith Smillie. Brian Schott, Nicholas Spies, and NormanThomson exchanged emails with me at length to smooth over rough spots. David Steeleconducted a painstaking review of several early drafts and suggested many changes greatand small. Björn Helgason translated the text into Icelandic, finding a number of errorsalong the way. Markus Schmidt-Gröttrup has translated the text into German. RicSherlock reformatted the Reference Card into a thing of beauty.
Kip Murray's 'review' became more of a dismantling, cleaning, and reassemblyoperation in which large sections of prose were rewritten as he pointed out to me their essential meaninglessness; the reader should be as grateful to him as I am.Without the patient explanations of my early teachers in J, Raul Miller and Martin Neitzel, I would have given up on J. I hope that this book pays to others the debt I owe tothem.My current happy career as a J programmer would not have been possible without thework of the staff at Jsoftware, Inc., who created J. For the patriarch, the late Ken Iverson,I am unworthy to express admiration: I have only awe. I hope his achievement eases thelives of programmers for generations to come. To the rest, both Iversons and non-Iversons, I give my thanks.The implementation of the J interpreter has required diverse skills: architecturalvision, careful selection of algorithms, cold-eyed project management to select featuresfor implementation, robust and efficient coding, performance optimization, and expertisein numerical analysis. Most improbably, all these talents have resided in one man, Roger Hui
il miglior fabbro
. J gives us all a way to have a little of Roger's code in our own.We should aspire no higher.
2002/6/18: Add chapters on mathematics in J, and section on Symbols; minor changes towording; bring text up to J Release 5.012002/8/16: Minor additions; added section on aliasing; added chapter on sockets