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 language||English (US)|
|Number of pages||34|
|Journal||JOOP - Journal of Object-Oriented Programming|
|State||Published - Nov 1999|