Roger Hui


Roger Hui is a computer scientist and codeveloper of the programming language J.
In 1953, he was born in Hong Kong. In 1966, he immigrated to Canada with his whole family.

Education and career

In 1973, Hui entered the University of Alberta. In his second year he took a course on probability and statistics in which students were expected to learn the programming language APL 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. Because the manual was written by Adin Falkoff and Kenneth E. Iverson, Hui thinks it reasonable to say he learned APL from Falkoff and Iverson.
As a summer student in 1975 and 1976, Hui worked at I. P. Sharp Associates in Calgary, on workspaces for statistical and probability calculations. The major attraction of the job was the unrestricted computer time with access to APL.
After receiving a B.Sc. degree with first class honors in computer science in 1977, Hui worked for two years as a full-time programmer and analyst in the new Edmonton office of IPSA, where his main duty was to support clients in their use of APL time-sharing. He attended the APL79 conference in Rochester, New York, where Iverson gave two papers: "The Role of Operators in APL" and "The Derivative Operator". On the way, Hui stopped at IPSA in Toronto and obtained a copy of "Operators and Functions" . He has been studying that paper and its successors ever since.
In September 1979, Hui 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."
After completing his master's degree, Hui worked from 1981 to 1985 as an APL systems analyst and programmer for the Alberta Energy Company in Edmonton. In February 1982 Hui purchased A Source Book in APL, in which the most memorable papers were "The Design of APL", "The Evolution of APL", and "Notation as a Tool of Thought".
Hui's work was described at the APL85 conference 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", and Falkoff and Iverson's The Design of APL was cited. Hui 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 and A Dictionary of the APL Language, as it was then named.

J language

In the early 1990s, Ken Iverson and Hui began collaborating on an advanced continuation of an APL-like language which they named J. The improvements were intended to fix some of the persistent character set issues that had plagued APL since its inception, and to add new advanced features such as support for parallel multiple instruction, multiple data operations. It was intended that the J language be an improvement over then extant APL. The J interpreter and language continue to evolve.
In 1996, he received the Kenneth E. Iverson Award for Outstanding Contribution to APL.