Emerald (programming language)

{{Infobox programming language

| name = Emerald

| logo =

| paradigm = object-oriented

| year = 1980s

| designer = Andrew P. Black, Norman C. Hutchinson, Eric B. Jul, Henry M. Levy

| developer =

| latest release version =

| latest release date =

| typing = strong, static

| implementations =

| dialects =

| influenced by = Pascal, Simula, Smalltalk

| influenced = Java, Singularity

| operating system =

| license =

| website = {{URL|www.emeraldprogramminglanguage.org}}

| file_ext =

}}

Emerald is a distributed, object-oriented programming language developed in the 1980s by Andrew P. Black, Norman C. Hutchinson, Eric B. Jul, and Henry M. Levy, in the Department of Computer Science at the University of Washington.{{cite book|chapter=The Development of the Emerald Programming Language|first1=Andrew P.|title = Proceedings of the third ACM SIGPLAN conference on History of programming languages - HOPL III|last1=Black|first2=Norman C.|last2=Hutchinson|first3=Eric|last3=Jul|first4=Henry M.|last4=Levy|date=1 January 2007|publisher=ACM|pages=11–1–11-51|doi=10.1145/1238844.1238855|isbn = 978-1-59593-766-7}}

A simple Emerald program can create an object and move it around the system:

const Kilroy ← object Kilroy

process

const origin ← locate self

const up ← origin.getActiveNodes

for e in up

const there ← e.getTheNode

move self to there

end for

move self to origin

end process

end Kilroy

Emerald was designed to support high performance distribution, location, and high performance of objects, to simplify distributed programming, to exploit information hiding, and to be a small language.

References

{{Reflist}}