Object-oriented concurrent programming languages and systems

Anand Tripathi, James Van Oosten, Robert Miller

Research output: Contribution to journalArticlepeer-review

2 Scopus citations


The roots of object-oriented (OO) programming and concurrent programming both date back to the development of seminal concepts in these areas during the mid to late 1960s. Object-based languages provide support for the concepts of data abstraction and modularity. Data abstraction supports separation of functionality from implementation; a module provides encapsulation of code and data, thus providing protection and information hiding. OO programming supports three additional concepts: inheritance, dynamic binding, and polymorphism. Concurrency refers to logical parallelism of computations. Concurrent operations in a computation can be executed in any order on a uniprocessor, or they may be executed in parallel on different processors, possibly executing at different speeds. A computation may consist of a set of concurrent processes. A process (or thread) represents a system-level entity for carrying out the sequence of operations in a program.

Original languageEnglish (US)
Pages (from-to)22-55
Number of pages34
JournalJOOP - Journal of Object-Oriented Programming
Issue number7
StatePublished - Nov 1999

Fingerprint Dive into the research topics of 'Object-oriented concurrent programming languages and systems'. Together they form a unique fingerprint.

Cite this