Email: <Jim.Brown AT SPAMFREE smartarrays.com>

After graduating from Gannon College in Erie, Pa. with an undergraduate degree in mathematics, I joined IBM Federal Systems in Owego, New York in 1965 and shortly thereafter heard about Ken Iverson, his notation and the Formal Description of System/360. A few months later a colleague and I attended an Association for Computing Machinery (ACM) dinner meeting where the speaker was Adin Falkoff showing APL using a "portable" 2741. Adin showed one wonderful thing after another.

I was unable to get my management's permission to play with APL at IBM and ended up taking a four year leave of absence from IBM to work with APL at Syracuse University while pursuing a doctorate in Computer Science. At this time, only Syracuse University and a college in Canada had APL systems outside of IBM.

After six months, Karen and I ran out of money and I applied for and got a job at IBM Yorktown Heights Research in the APL group where I implemented the extensions of "Base Value", "Representation" and "Catenate" to higher rank arrays. My summer assignment with the APL group grew to cover the rest of my time at Syracuse.

While at Yorktown, I realized that there was no reason for arrays to be entirely numeric or entirely character as they were in original APL. Even though I was (rightfully) denied access to information about ongoing work to extend APL in the group, I chose as my dissertation topic an extension to APL. I originally called my thesis "Another Programming Language" retaining the letters "APL". Garth Foster, my thesis advisor, thought the title sounded more like "Just Another Programming Language" so the title was changed to "A Generalization of APL".

In 1971, I graduated with a PhD in the first Computer Science class from Syracuse. I joined the APL group at the IBM Philadelphia Scientific Center where I wrote a new Syntax Analyzer which Richard Lathwell adopted for Shared Variables. It was in 1971 that I wrote the first lines of code for APL2. APL2 was never my top priority topic but I made steady progress implementing more that one version of the extended language controlled by the system variable ⎕AX (Axiom System). This let us and others experiment with the possible extensions. This work continued with a move of the group to Palo ALto, California and later back to Yorktown Heights and then to San Jose, California.

I am very indebted to IBM that they gave me 10 years to develop the APL2 product and, in my estimation, this let us get it right. At various times in IBM, I was responsible for Development, Testing, Service, and eventually marketing of APL.

After 31 years, in 1996, I retired when the APL group took a headcount cut and someone else would have lost their job if I stayed.

In 1999, I joined with James Wheeler and formed SmartArrays Inc. which built array operations like APL and beyond into the traditional programming languages C++, C# and Java.

In September 2010, Mircea Moresan approached me at the APL 2010 conference in Berlin suggesting that Arrays should be pushed deeper into the computing systems. In 2011, Mircea and I, with support from Gitte Christensen and Morten Kromberg formed NestedComputing Corp. to persue these ideas. At the "Anniversary Conference 50 Years of APL" in Boeblingen, Germany November 2016, NestedComputing made the first public presentation that included its Array Operating System designed to run on an Array machine.

You can find more detailed information of my involvement with APL and the early days of APL at My Personal APL Story.

You can find me on LinkedIn.


JimBrown (last edited 2017-04-05 19:13:15 by JimBrown)