Roger Kwok Wah Hui (December 29 1953 – October 16, 2021) was a
computer scientist who worked on
array programming
In computer science, array programming refers to solutions which allow the application of operations to an entire set of values at once. Such solutions are commonly used in computational science, scientific and engineering settings.
Modern progr ...
languages. He codeveloped the
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming ...
J.
Education and career
Hui was born in
Hong Kong
Hong Kong ( (US) or (UK); , ), officially the Hong Kong Special Administrative Region of the People's Republic of China (abbr. Hong Kong SAR or HKSAR), is a city and special administrative region of China on the eastern Pearl River Delta i ...
in 1953. In 1966, he immigrated to
Canada
Canada is a country in North America. Its ten provinces and three territories extend from the Atlantic Ocean to the Pacific Ocean and northward into the Arctic Ocean, covering over , making it the world's second-largest country by tot ...
with his whole family.
In 1973, Hui entered the
University of Alberta
The University of Alberta, also known as U of A or UAlberta, is a Public university, public research university located in Edmonton, Alberta, Canada. It was founded in 1908 by Alexander Cameron Rutherford,"A Gentleman of Strathcona – Alexande ...
. In his second year he took a course on
probability
Probability is the branch of mathematics concerning numerical descriptions of how likely an event is to occur, or how likely it is that a proposition is true. The probability of an event is a number between 0 and 1, where, roughly speakin ...
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 thought 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
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includi ...
in 1977, Hui worked for two years as a full-time
programmer and analyst in the new
Edmonton
Edmonton ( ) is the capital city of the Canadian province of Alberta. Edmonton is situated on the North Saskatchewan River and is the centre of the Edmonton Metropolitan Region, which is surrounded by Alberta's central region. The city ancho ...
office of IPSA, where his main duty was to support clients in their use of APL
time-sharing
In computing, time-sharing is the sharing of a computing resource among many users at the same time by means of multiprogramming and multi-tasking.DEC Timesharing (1965), by Peter Clark, The DEC Professional, Volume 1, Number 1
Its emergence ...
. He attended the APL79 conference in
Rochester, New York
Rochester () is a city in the U.S. state of New York, the seat of Monroe County, and the fourth-most populous in the state after New York City, Buffalo, and Yonkers, with a population of 211,328 at the 2020 United States census. Located in W ...
, 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"
BM 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
The University of Toronto (UToronto or U of T) is a public university, public research university in Toronto, Ontario, Canada, located on the grounds that surround Queen's Park (Toronto), Queen's Park. It was founded by royal charter in 1827 ...
, 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.
Hui and his wife Stella had two children. He died on October 16, 2021 from cancer.
Roger Hui - 1953 - 2021
also found at http://jsoftware.com/pipermail/programming/2021-October/059091.html
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
In computing, multiple instruction, multiple data (MIMD) is a technique employed to achieve parallelism. Machines using MIMD have a number of processors that function asynchronously and independently. At any time, different processors may be exe ...
) 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.
References
External links
*, JSoftware, creators of ''J''
Memorial webpage
{{DEFAULTSORT:Hui, Roger
1953 births
2021 deaths
Canadian computer programmers
Hong Kong emigrants to Canada
I. P. Sharp Associates employees
Naturalized citizens of Canada
Programming language designers
University of Alberta alumni
University of Toronto alumni
APL implementers