James Arthur Brown is an APL language designer and the primary force behind IBM's APL2. In this role he was one of the primary advocates for the nested array model. He was awarded the Iverson Award in 1993 for his work on APL2.
Brown left IBM in 1996 and began working as an independent consultant. He and James Wheeler, a former manager at STSC, founded the analytics company SmartArrays in 1999. Brown remained a manager at SmartArrays until its dissolution in 2019.
- Ph.D. thesis: "A Generalization of APL". 1971.
- APL74: An application of a specialized data bank for analysis and information retrieval in the field. With Bernaro Verner.
- APL79: Evaluating extensions to APL.
- APL81: The APL identity crisis. With M. A. Jenkins.
- APL82: Understanding arrays.
- APL82: Eigenanalysis and polynomial root finding primitive functions. With S. Schmidt and M. A. Jenkins.
- APL83: APL2 syntax: Is it really right to left?.
- APL84: Function assignment and arrays of functions.
- APL85: Inside the APL2 workspace.
- APL86: Writing multi-user applications in APL2.
- APL86: Logic programming in APL2. With Janice H. Cook, Leo H. Groner, and Ed Eusebi.
- APL86: APL2 and AI: a study of search. With Ed Eusebi.
- APL87: Why APL2: a discussion of design principles.
- APL87: APL2 implementations of unification. With Ramiro Guerreiro.
- APL87: Solutions to logic problems in APL2. With Manuel Alfonseca.
- APL87: Designing APL2 programs for unification. With Ramiro Guerreiro.
- APL88: An APL2 description of the IBM 3090 vector facility.
- APL89: User defined data types in APL2. With J. P. Benkard.
- APL89: Understanding selective assignment. With B. Hawks.
- APL90: Toward a common prototyping language. With Jack G. Rudd.
- APL92: APL2 implementation of cross-system shared variables. With Erik Kane.
- APL93: Extending the APL character set. With Brent Hawks and Ray Trimble.
- APL94: The origins of APL2.
- APL00: What’s wrong with APL2.
- APL02: SmartArrays for the APL programmer. With James G. Wheeler.