some implications of shared variables
Recognition of shared variables as the fundamental means of communication between concurrently operating processes has important implications for the design of systems and programming languages. As a consequence, current APL systems, such as APLSV, embody two shared variable facilities: one for establishing temporary interfaces between system components, and the other one for defining parts of the permanent interface between an APL program and the underlying processor. These are treated in depth in this paper. More general implications for language and system design, system programming, and system performance are briefly noted. It is observed, for example, that languages that attempt to communicate with the environment without the explicit use of shared variables do not have a true communication facility, and therefore tend to absorb more and more of the environment within their own formal structure.
sharing variability communication operability process design systems programming language language interfaces component processor paper general system design systems programming performance examples environments use formalism structure