Jim Brown

From APL Wiki
Revision as of 23:38, 15 April 2024 by Marshall (talk | contribs) (Text replacement - "Philadelphia Scientific Center" to "Philadelphia Scientific Center")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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 studied mathematics at Gannon College in Pennsylvania[1] (he first used a computer there in 1958). After graduating, he took a position at IBM Federal Systems in 1965, and soon learned about APL and its use in Falkoff and Iverson's "A formal description of SYSTEM/360".[2] Brown later (at an ACM meeting) met Adin Falkoff, who demonstrated APL\360 to him on a 2741 terminal. Although Brown's manager declined to make him an account on the Yorktown Heights installation Falkoff had connected to, Brown learned of a planned installation at Syracuse University and enrolled in Ph.D. studies there in 1968. He would graduate in 1971 having written (advised by Garth Foster) "A Generalization of APL" for his thesis—the document that later became the foundation of APL2 and an influence on NARS. However, he had left his IBM position to begin studies, and the pay for his new job running Syracuse's APL service pay proved insufficient, so in 1969 Brown also began work at IBM's Watson Research Center at Yorktown Heights. In addition to APL implementation such as extending Encode, Decode, and Catenate to higher-rank arrays, Brown discussed language designs with his colleagues and in particular Trenchard More, whose array theory closely resembled Brown's ideas. However, Brown was not allowed at the time to access More's proposals made at IBM in order to avoid their content being made public.[3]

After completing his Ph.D., Brown joined IBM's Philadelphia Scientific Center under Dick Lathwell, and began work on a nested extension to APL, what would become APL2 (he changed departments to Palo Alto in 1974, back to Yorktown Heights in 1978, and Palo Alto again in 1981[3]). He discussed Trenchard More's ideas with Ziad Ghandour and later More himself, and adopted the details of More's theory, particularly prototypes, for APL2. A prototype of APL2 (Installed User Program or IUP) was released in 1982 with Brown serving as chief architect; because of discussions with Falkoff and Iverson at Yorktown various extensions had been changed to favor a flatter array style, but based on user experience and conversation with Bob Smith (development manager of NARS at STSC), Brown changed them back to match his earlier definitions.[4] Another aspect of the APL2 design advocated by Brown was the generalization of strand notation to any arrays rather than just numbers. APL2 was released in 1984, and Brown continued to work at IBM on design as well as service and marketing. He also arranged the performance of APL Blossom Time at APL81, playing guitar and singing along with the band and hundreds of conference attendees.

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.[5] Brown remained a manager at SmartArrays until its dissolution in 2019.[6] Additionally, he formed NestedComputing with Mircea Morosan in 2011 to work on an array operating system, supported by Gitte Christensen and Morten Kromberg.[1]


APL conferences

Main article: APL conference

Other talks

External links


  1. 1.0 1.1 Jim Brown. APL Wiki user page
  2. Adin Falkoff, Ken Iverson, and Edward H. Sussenguth Jr. "A Formal Description of System/360". IBM Systems Journal 3:3:198-262. 1964.
  3. 3.0 3.1 Jim Brown. A Personal History of APL. Updated 2017-04-05.
  4. James A. Brown. The Origins of APL2 at APL94.
  5. SmartArrays. "About Us". Archived from the original on 2018-05-17.
  6. smartarrays.com. Accessed 2020-03-17.
APL community [edit]
Conferences and activities Advent of CodeAPL CampfireAPL CultivationAPL Meetup (Portuguese) ∙ APL ShowAPL Problem Solving CompetitionAPL ChallengeAPL ForgeAPL QuestAPL SeedsArray CastBAA sessionsCode golfDyalog user meetingsDyalog webinarsIverson Award
Chat rooms and forums APL FarmAPL Orchard
User groups APL et J (France) ∙ APL Germany (terminology) ∙ APL ∊ BCN (Spain) ∙ BAA (UK) ∙ FinnAPL (Finland) ∙ SIGAPL (USA) ∙ Tokyo APL/J/K Meetup (Japan)
People Phil AbramsBrian BeckerBob BerneckyLarry BreedCharles BrennerJim BrownAdám BrudzewskyGitte ChristensenPeter DonnellyJohn EarnestAdin FalkoffGarth FosterLib GibsonAaron HsuRoger HuiKen IversonMorten KrombergDick LathwellMarshall LochbaumEugene McDonnellRoger MooreTrenchard MoreAlan PerlisRaghu RanganathanHenry RichAl RoseJohn ScholesIan SharpBob SmithGeoff StreeterJoey TuttleArthur Whitney
Other APL Quote QuadAPL WikiBlogsBooksCase studiesFamous APL usersHumourJobsMerchandisePapersPodcastsTryAPLTry It OnlineVideo channels