Object-Oriented Programming Languages
Raimund K. Ege · Elsevier eBooks · 1992
Cited by 1
Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.
About 3,895 papers for “object-oriented programming languages”
Raimund K. Ege · Elsevier eBooks · 1992
Cited by 1
Fred Cummins · ACM SIGPLAN OOPS Messenger · 1992
article Object-oriented programming languages: the next generation Share on Author: Fred A. Cummins View Profile Authors Info & Claims ACM SIGPLAN OOPS MessengerVolume 4Issue 2April 1993 pp 81–83https://doi.org/10.1145/157710.157725Online:01 December 1992Publication History 0citation258DownloadsMetricsTotal Citations0Total Downloads258Last 12 Months4Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Cited by 1
WORLD SCIENTIFIC eBooks · 1990
Cited by 1
Craig, Iain D. · 2007
Cited by 0
Peter Fröhlich, Michael Franz · 1999
Current approaches to component-oriented programming are based on traditional object-oriented languages and concepts. However, most existing object-oriented languages fail to address subtle interface compatibility issues that become paramount in a component-based setting. We explore both syntactic and semantic interface incompatibilities and discuss why they are difficult to handle. We argue that resolving these incompatibilities requires breaking with a fundamental idiom of object-oriented languages: the subordination of messages to interfaces and classes. We propose a solution based on the concept of stand-alone messages as found in the experimental programming language Lagoona and discuss its ramifications. 1
Cited by 7
Jørgen Lindskov Knudsen, Ole Lehrmann Madsen · DAIMI Report Series · 1988
<p>One of the important obligations of an expanding research area is to discuss how to approach the teaching of the subject. Without this discussion, we may find that the word is not spread properly, and thus that the results are not properly utilized in in dustry. Furthermore, discussing teaching the research area gives additional insight into the research area and its underlying theoretical foundation. In this paper we will report on our approach to teaching programming languages as a whole and especially teaching object-oriented programming.</p><p>The prime message to be told is that working from a theoretical foundation pays off. Without a theoretical foundation, the discussions are often centered around features of different languages. With a foundation, discussions may be conducted on solid ground. Furthermore, the students have significantly fewer difficulties in grasping the concrete programming languages when they have been presented with the theoretical foundation than without it.</p>
Cited by 1Open access
J. Striegnitz, K. Davis, Kei Davis et al. · 2007
This paper presents a programming framework that combines the concepts of objects, rules and strategies, built as an extension of the rule-based language with strategies ELAN. This extension is implemented in a reflective way in ELAN itself and relies on the same formal semantics, namely the #-calculus.
Cited by 0
Martin Schoeberl · 2007
In this paper we investigate the overheads of object-oriented operations, such as virtual method dispatch and field access, in the context of an embedded processor for real-time systems. As an example we use a Java processor that implements those operations in microcode similar to the way those operations are compiled to a RISC processor. As this processor is a soft-core, implemented in an FPGA, an optimization of those operations is a valuable option. Significant application speedup is possible by providing an architecture for object-oriented programming languages. We also evaluate the hardware cost of this optimization with respect to the application speedup.
Cited by 15
Scott Danforth · ACM SIGPLAN OOPS Messenger · 1992
This poster presentation illustrates the use of SOM (the IBM System Object Model) for interfacing, different object-oriented programming (OOP) languages. Our approach allows classes defined in one OOP language to be used by different (possibly non-OOP) languages—both for subclassing, and for object creation. This extends the utility of OOP class libraries and makes it possible to define “multilanguage” objects, whose supporting methods and instance variables are provided by different languages.
Cited by 0Open access
R.J. D'Andrea, Raghava G. Gowda · IEEE Conference on Aerospace and Electronics · 2002
The authors provide detailed definitions of major components used in object-oriented programming environments and how they are applied to software projects. Components defined include encapsulation, the foundation for this entire approach; inheritance, the most innovative part of object-oriented programming; and class, sometimes referred to as software-IC, which emphasizes the similarity with hardware silicon chip. Differences in dynamic binding and loosely coupled collections are described. Several examples are provided which make it possible to distinguish the type of binding that the consumer or supplier will use. Additionally, the benefits and shortcomings of early and late binding are presented. it is believed that Smalltalk-80 continues to be the strongest representative of object-oriented programming; the benefits associated with this integrated language, such as in program environment and garbage collection, are presented. Three characteristic shortcomings have been observed: run-time cost of the dynamic binding mechanism; complexity of object-oriented language over conventional procedural languages; and more information is required from class libraries regarding the individual requirements of specific components.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
Cited by 3
Yeager, Dorian P.
Essential concepts of programming language design and implementation are explained and illustrated in the context of the object-oriented programming language (OOPL) paradigm. Written with the upper-level undergraduate student in mind, the text begins with an introductory chapter that summarizes the essential features of an OOPL, then widens the discussion to categorize the other major paradigms, introduce the important issues, and define the essential terms. After a brief second chapter on event-driven programming (EDP), subsequent chapters are built around case studies in each of the languages Smalltalk, C++, Java, C#, and Python. Included in each case study is a discussion of the accompanying libraries, including the essential container classes. For each language, one important event-driven library is singled out and studied. Sufficient information is given so that students can complete an event-driven project in any of the given languages. After completing the course the student should have a solid set of skills in each language the instructor chooses to cover, a comprehensive overview of how these languages relate to each other, and an appreciation of the major issues in OOPL design.Key Features:•Provides essential coverage of Smalltalk origins, syntax, and semantics, a valuable asset for students wanting to understand the hybrid Objective C language •Provides detailed case studies of Smalltalk, Java, C++, C#, and Python and features a side-by-side development of the Java and C++ languages--highlighting their similarities and differences•Sets the discussion in a historical framework, tracing the roots of the OOPLs back to Simula 67.•Provides broad-based coverage of all languages, imparting essential skills as well as an appreciation for each language's design philosophy•Includes chapter summary, review questions, chapter exercises, an appendix with event-driven projects, and instructor resources
Cited by 0
Fergus Uchenna Onu, Ian Oliver, Mamah Chukwurah Hyginus et al. · IOSR Journal of Computer Engineering · 2024
Background: Indeed, Object-Oriented Programming (OOP) has emerged as one of the major fundamental paradigms in today’s world of software development as it contains principles that enhance modularity, reusability, and maintainability of software. This article explores deeper into some of the facets of OOP aspects as exhibited in some of the most frequently used programming languages ranging from Java, Python, C++, and C# with an intent of offering substantive information to aspects like encapsulation, inheritance, polymorphism, and abstraction. The article synthesizes the ones focusing on the relevance and conceptualization of OOP and problems related to it in the context of learners and practitioners. It also describes strengths and weaknesses of using C++, Python, and Java in relation to OOP while stressing peculiarity of these languages. Some of the core principles of OOP are highlighted such as encapsulation, inheritance, polymorphism, and abstraction and how they are complicated and significant in today’s software engineering. Materials and Methods: There was a presentation of a survey on which the research is based to determine the problems that programmers encounter when applying OOP features using a sample of 80 programmers in the computer science fields in some Nigerian Universities. Results: Findings reveal the significance of understanding OOP concepts in popular languages and suggest ways of increasing developers’ efficiency, minimizing errors, and improving the quality of developed software. Conclusion: Suggestions include a necessity for training and education to enhance software developers' understanding of OOP features. The findings can guide the creation of training materials and courses centered on OOP concepts, aiming to improve software development practices and elevate the quality of software products.
Cited by 0Open access
Rajesh Jangade, Anil Barnwal, Satyakam Pugla · 2016
Abstract---Now a day the maximum percentage of the people from the world of computer programmers are using object oriented programming languages like C++, Java, Eiffel, Dot Net and etc. Why, because these languages are incorporated with some easiness, advanced, re-useful and needful features. And Inheritance is most important portion of any object oriented programming languages that plays vital role to like the language by programmers. Here I am going to discuss some basics problems and their solutions related to a situation of multiple inheritance called Diamond Effect. This problem comes in existence when we use multiple inheritance where one class is inherited by two different sub classes and again these two subclasses are inherited by any single class. Multiple inheritance in object oriented language like C++ is a powerful, but tricky tool, that often leads to problems if not handled carefully. Diamond effect occurs in most of the object oriented languages and each language has some different syntax for coding. In this paper whatever coding is used, will be in the reference of C++.
Cited by 0
Iain Craig · 2002
Cited by 9
Xi Wu, Yi Lu, Patrick A. Meiring et al. · Lecture notes in computer science · 2018
Cited by 1
Papathomas, Michael · Archive ouverte UNIGE (University of Geneva) · 1989
The integration of concurrent and object-oriented programming, although promising, presents problems that have not yet been fully explored. In this paper we attempt to identify issues in the design of concurrent object-oriented languages that must be addressed to achieve a satisfactory integration of concurrency in the object-oriented framework. We consider the approaches followed by object-oriented languages for supporting concurrency and identify six categories of concurrent object-oriented languages. Then, we review several concurrent object-oriented languages and examine the interaction of their concurrency features with their object-oriented features and with object-oriented software construction. 1 Introduction Object-oriented programming and object-oriented programming languages (OOPLs) are becoming increasingly popular for the construction of computer software. OOPLs integrate a host of techniques that have proven useful for the development and maintenance of software and that...
Cited by 6Open access
Günther Blaschek, Gustav Pomberger, Alois Stritzinger · 1989
Cited by 6
Buth, A., Gesellschaft fuer Mathematik und Datenverarbeitung m.b.H. Bonn (GMD), St. Augustin (Germany) · OpenGrey (Institut de l'Information Scientifique et Technique) · 1991
Cited by 0
2008
2 Acknowledgments I wish to thank GEC-Marconi for their sponsorship which enabled me to do this work. I wish to thank my colleagues, Graham Hill and Ceri Rees, for reading and commenting on earlier drafts of this thesis. Finally, I wish to thank my supervisor, Professor Peter Landin, who patiently explained fundamental concepts of programming during many Friday afternoon tutorials.
Cited by 0
John C. Mitchell, Kathleen Fisher · 1996
Object-oriented programming languages (OOPL's) provide important support for today's large-scale software projects. Unfortunately, typed OOPL's, such as Simula and C++, have suffered from overly restrictive type systems. Among other things, the rigidity of these systems force programmers to use type-casts to achieve flexibility, a notorious source of hard-to-find bugs. These restrictive type systems also mean that programming idioms common to untyped OOPL's, such as Smalltalk, are not typeable. One source of this inflexibility is the conflation of subtyping and inheritance. Briefly, inheritance is an implementation technique in which new object definitions are given as incremental modifications to existing ones. Subtyping concerns substitutivity: when can one object safely replace another? By tying subtyping to inheritance, existing OOPL's reduce the number of legal substitutions in a system and hence their degree of polymorphism. Attempts to fix this rigidity have resulted in unsound type systems, most notably Eiffel's. This thesis develops a sound type system for a formal object-oriented language that addresses this lack. It gains flexibility by separating subtyping and inheritance. It also supports method specialization, which means that the types of methods may be refined in certain ways during inheritance. The lack of such a mechanism is one of the key sources of type-casts in languages like C++ and Object Pascal. Abstraction primitives in this formal language support a class construct similar to the one found in C++, Eiffel, and Java. This study explains the link between inheritance and subtyping: object types that include implementation information are a form of abstract type, and the only way to produce a subtype of an abstract type is via extension, (i.e., by inheritance). The study also suggests that object primitives and encapsulation are orthogonal language features that together produce an object-oriented language. Hence, adding object primitives to a language that supports encapsulation (such as ML) should be sufficient to create an object-oriented language. Formally, the language is presented as an object calculus and a type system with row variables, variance annotations, method-absence annotations, and abstract types. The thesis proves type soundness with respect to an operational semantics via a subject reduction theorem.
Cited by 36