||This biographical article needs additional citations for verification. (September 2008)|
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 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, 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 unlimited computer time with access to APL.
After receiving a B.Sc. degree with first class honors in computing science in 1977, Hui worked for two years as a full-time programmer and 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 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 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 Hui developed a feel for efficient computations, which helps explain the speed of the later language J's primitive functions.
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). By this time Hui was reading every paper of Ken Iverson's that he could get his hands on.
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 called at the time).
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 continue to evolve.
- Edwin D. Reilly (2003). Milestones in computer science and information technology. Greenwood Publishing Group. p. 12. ISBN 978-1-57356-521-9. Retrieved 25 November 2010.
- IEEE annals of the history of computing, Volumes 27-28. IEEE Computer Society. 2005. p. 95. Retrieved 25 November 2010.
- "A Tribute to Roger Hui (presented at APL96)". 1996. Retrieved 25 November 2010.