Roger Hui

Roger Hui (born 1953) 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" (the book "APL Language" was not published until March 1975). 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 (IPSA) 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 BSc 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" [IBM Research Report No. 7091, 1978]. 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 MSc 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" (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).
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" (Iverson, 1976, 1980), 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" (1983) 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" (MIMD) 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.