Learning J (original) (raw)

>> << Usr Pri JfC LJ Phr Dic Voc !: HelpLearning J


Learning J
An Introduction to the J Programming Language
Roger Stokes
revised 15 June 2015
About this Book
Table of Contents
Acknowledgments
Index

J software and documentation are available at the J Software Home Page

Please send comments and criticisms to the J Forum


Copyright © Roger Stokes 2015. This material may be freely reproduced, provided that acknowledgment is made.


ABOUT THIS BOOK

This book is meant to help the reader to learn the computer-programming language J.

It is hoped that the book will be useful to a wide readership, from beginning programmers to experienced programmers. Beginning programmers will find examples at every step. Care is taken to to make the examples very simple and to introduce only one new idea at a time. Experienced programmers will find much to appreciate in the radical simplicity and power of the J notation.

The scope of the book is the core J language defined in the J Dictionary. The coverage of the core language is meant to be relatively complete, covering (eventually) most of the Dictionary.

Hence the book does not cover topics such as graphics, plotting, GUI, and database covered in the J User Guide, nor does it cover the J Application Library . I should make clear what the aims of the book are not: neither to teach the basics of programming, nor to study algorithms, or topics in mathematics or other subjects using J as a vehicle, nor to provide definitive reference material.

The book is organized as follows. Part 1 is a basic introduction which touches on a variety of themes. The aim is to provide the reader, by the end of Part 1, with an overview and a general appreciation of the J language. The themes introduced in Part 1 are then developed in more depth and detail in the remainder of the book.

All the examples have been executed with J701 or later.


TABLE OF CONTENTS

Part 1: Getting Acquainted 1: Basics 2: Lists and Tables 3: Defining Functions 4: Scripts and Explicit Functions
Part 2: Arrays 5: Building Arrays 6: Indexing 7: Ranks
Part 3: Defining Functions: Verbs 8: Composing Verbs 9: Trains of Verbs 10: Conditional and Other Forms 11: Tacit Verbs Concluded 12: Explicit Verbs
Part 4: Defining Functions: Operators 13: Explicit Operators 14: Gerunds 15: Tacit Operators
Part 5: Structural Functions 16: Rearrangements 17: Patterns of Application 18: Sets, Classes and Relations
Part 6: Numerical and Mathematical Functions 19: Numbers 20: Scalar Numerical Functions 21: Factors and Polynomials 22: Vectors and Matrices 23: Calculus
Part 7: Names and Objects 24: Names and Locales 25: Object-Oriented Programming
Part 8: Facilities 26: Script Files 27: Representations and Conversions 28: Data Files 29: Error Handling 30: Sparse Arrays 31: Performance 32: Trees
Appendices A1: Evaluating Expressions A2: Collected Terminology Index

Acknowledgments

I am grateful to readers of earlier drafts for encouragement and for valuable criticisms and suggestions.



>> << Usr Pri JfC LJ Phr Dic Voc !: HelpLearning J