Hermes (programming language)
Appearance
Hermes[1] [2] is a language for distributed programming[3] that was developed at IBM's Thomas J. Watson Research Center from 1986 through 1992. Hermes' primary features included:[4]
- Language support of processes and interprocess communication.
- Compile-time verification that operations use initialized data.
- Representation-independent data aggregates called tables.
- Lack of pointers.
The compile-time checking of data initialization, called "typestate analysis", is an early precedent for the definite assignment analysis performed by Java, Cyclone and C#. Hermes and its predecessor, NIL, appear to have been the earliest programming languages supporting this form of initialization checking.
References
- ^ Strom, Robert E.; Bacon, David F; Goldberg, Arthur P.; Lowry, Andy; Yellin, Daniel M.; Yemini, Shaula (1991). Hermes - A Language for Distributed Computing. Englewood Cliffs, NJ, USA: Prentice-Hall. ISBN 978-0-13-389537-7.
- ^ Lowry, Andy (1992). "The Hermes language in outline form". ACM SIGPLAN Notices. 27 (8): 51–70. doi:10.1145/142137.142148. ISSN 0362-1340.
- ^ Strom, R.E. (1990). "Hermes: an integrated language and system for distributed programming": 75–82. doi:10.1109/EDS.1990.138054.
{{cite journal}}
: Cite journal requires|journal=
(help) - ^ "Hermes Language Experiences". Willard Korfhage and Arthur P. Goldberg. Software — Practice and Experience, Vol. 25(4), 389–402 (April 1995). [1]