Roger Hui

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by BlackCat (talk | contribs) at 21:37, 14 October 2008 (recat). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Roger Hui is co-developer of the J Programming Language. He was born in Hong Kong in 1953 and he immigrated to Canada with his entire family in 1966.

Education and career

In 1973, Roger entered the University of Alberta. Those who knew him then still speak of his extraordinary talents. In his second year he took a course on Probability and Statistics in which students were expected to learn APL (programming language) with little or no formal instruction. He used all the time he could muster on a heavily-burdened computer, and benefited from the APL\360 User's Manual (APL Language was not published until March 1975). Because the manual was written by Adin Falkoff and Kenneth E. Iverson, Roger thinks it reasonable to say he learned APL from Falkoff and Iverson.

As a summer student in 1975 and 1976, Roger worked at I. P. Sharp Associates (IPSA) in Calgary, on workspaces for statistical and probability calculations. The major attraction of the job was the unlimited computer time with access to APL.

After receiving a B.Sc. degree with First Class Honors in Computing Science in 1977, Roger worked for two years as a full-time programmer/analyst in the new Edmonton office of IPSA, where his principal duty was to support clients in their use of APL time-sharing. He attended APL79 at Rochester, where Ken gave two papers: "The Role of Operators in APL" and "The Derivative Operator". On the way, Roger stopped at IPSA in Toronto and obtained a copy of "Operators and Functions" [IBM Research Report No. 7091, 1978]. He has been studying that paper and its successors ever since.

In September 1979, Roger entered the Department of Computer Science at the University of Toronto, and received his M.Sc. in May 1981 with a thesis on "The complexity of some decompositions in matrix algebra". Although the thesis was not directly APL related, through this experience Roger developed a feel for efficient computations, which helps explain the speed of J's primitive functions.

After completing his Master's degree, Roger worked from 1981 to 1985 as an APL systems analyst and programmer for the Alberta Energy Company in Edmonton. In February 1982 Roger purchased A Source Book in APL (1981), in which the most memorable papers were "The Design of APL" (1973), "The Evolution of APL" (1978), and "Notation as a Tool of Thought" (1980). By this time Roger was reading every paper of Ken Iverson's that he could get his hands on.

Roger's work was described at APL85 in a paper, "DESIGN: A Financial Modelling System", written jointly with his supervisor, Fred Appleyard. The basic objects in the system were in "Direct Definition" (Iverson, 1976, 1980), and Falkoff and Iverson's The Design of APL was cited. Roger left Alberta Energy shortly after being promoted to a non-APL and non-programming position, and was out of work, and had no access to computers, from September 1985 to April 1986. This gave him plenty of time for intense study of Iverson's Rationalized APL (1983) and A Dictionary of the APL Language (as it was called at the time).

J Language

In the early 1990s, Ken Iverson and Roger Hui began collaboration on an advanced continuation of an APL-like language which they called J. The improvements not only were intended to fix some of the persistent character set issues that had plagued APL since its inception, but to add new advanced features such as support for parallel MIMD operations. It was intended that the J language be an improvement over existing APL. The J interpreter and language continues to evolve today.

External links