Object-Oriented Programming and Parallelism
M. Rajesh
Abstract
Open-access reader
M. Rajesh
Abstract
Open-access reader
Initially, object-orientation and parallelism originated and developed as separate and relatively independent areas.During the last decade, however, more and more researchers were attracted by the benefits from a potential marriage of the two powerful paradigms.Numerous research projects and an increasing number of practical applications were aimed at different forms of amalgamation of parallelism with object-orientation.It has been realized that parallelism is a inherently needed enhancement for the traditional object-oriented programming (OOP) paradigm, and that object orientation can add significant flexibility to the parallel programming paradigm. IntroductionWhy add parallelism to OOP?Primary OOP concepts such as objects, classes, inheritance, and dynamic typing were first introduced in the Simula language and were initially intended to serve specific needs of real-world modelling and simulation.Object-orientation developed further as an independent general-purpose paradigm which strives to analyze, design and implement computer applications through modelling of real-world objects.From a programming perspective, objectorientation originated as a specific method for modelling through programming but evolved to a general approach to programming through modelling.Many real-world objects perform concurrently with other objects, often forming distributed systems.Because modelling of real-world objects is the backbone of the object-oriented paradigm and because real-world objects are often parallel, this paradigm needs to be extended with appropriate forms of parallelism.Why add object-orientation to parallel programming?The high cost of specialized highperformance SIMD and MIMD machines is still an obstacle for some potential users.However, the rapid development of ATM networks and other fast connections opens opportunities to integrate existing workstations into relatively cheap distributed computing resources.Nowadays, diverse parallel processing platforms become increasingly available to application programmers.The expanding parallel applications cover not only traditional areas, such as scientific computations, but also new domains, such as, for example, multimedia.It has been widely recognized, however, that parallel languages and language environments are behind the needs of parallel programmers and users.For example, parallel software reuse and portability are particularly important areas that need improvement.Reuse of existing parallel software is very important because of the significant diversity of new parallel platform and the short lifetime of existing ones.Because parallel languages and compilers are architecture-oriented, parallel applications are difficult to port.
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Initially, object-orientation and parallelism originated and developed as separate and relatively independent areas.During the last decade, however, more and more researchers were attracted by the benefits from a potential marriage of the two powerful paradigms.Numerous research projects and an increasing number of practical applications were aimed at different forms of amalgamation of parallelism with object-orientation.It has been realized that parallelism is a inherently needed enhancement for the traditional object-oriented programming (OOP) paradigm, and that object orientation can add significant flexibility to the parallel programming paradigm. IntroductionWhy add parallelism to OOP?Primary OOP concepts such as objects, classes, inheritance, and dynamic typing were first introduced in the Simula language and were initially intended to serve specific needs of real-world modelling and simulation.Object-orientation developed further as an independent general-purpose paradigm which strives to analyze, design and implement computer applications through modelling of real-world objects.From a programming perspective, objectorientation originated as a specific method for modelling through programming but evolved to a general approach to programming through modelling.Many real-world objects perform concurrently with other objects, often forming distributed systems.Because modelling of real-world objects is the backbone of the object-oriented paradigm and because real-world objects are often parallel, this paradigm needs to be extended with appropriate forms of parallelism.Why add object-orientation to parallel programming?The high cost of specialized highperformance SIMD and MIMD machines is still an obstacle for some potential users.However, the rapid development of ATM networks and other fast connections opens opportunities to integrate existing workstations into relatively cheap distributed computing resources.Nowadays, diverse parallel processing platforms become increasingly available to application programmers.The expanding parallel applications cover not only traditional areas, such as scientific computations, but also new domains, such as, for example, multimedia.It has been widely recognized, however, that parallel languages and language environments are behind the needs of parallel programmers and users.For example, parallel software reuse and portability are particularly important areas that need improvement.Reuse of existing parallel software is very important because of the significant diversity of new parallel platform and the short lifetime of existing ones.Because parallel languages and compilers are architecture-oriented, parallel applications are difficult to port.
Key concepts: Parallelism (grammar), Computer science, Object-orientation, Flexibility (engineering), Object-oriented programming, Object (grammar), Orientation (vector space), Programming language