Emerald is an object-based programming language and system designed and implemented in the Department of Computer Science at the University of Washington in the early and mid-1980s. The goal of Emerald was to simplify the construction of distributed applications. This goal was reflected at every level of the system: its object structure, the programming language design, the compiler implementation, and the run-time support. This paper describes the origins of the Emerald group, the forces that formed the language, the influences that Emerald has had on subsequent distributed systems and programming languages, and some of Emerald's more interesting technical innovations. Categories and Subject Descriptors D.3.0 [Programming Languages]: General; D.3.2 [Language Classifications]: Object-oriented languages; D.3.3 [Language Constructs and Features]: Abstract data types, Classes and objects, Inheritance, Polymorphism Terms abstract types, distributed programming, object mobility, objec...
Andrew P. Black, Norman C. Hutchinson, Eric Jul, H