Theoretical Aspects of Object-oriented Programming

Theoretical Aspects of Object-oriented Programming

Author: Carl A. Gunter

Publisher: MIT Press

Published: 1994

Total Pages: 568

ISBN-13: 9780262071550

DOWNLOAD EBOOK

Although the theory of object-oriented programming languages is far from complete, this book brings together the most important contributions to its development to date, focusing in particular on how advances in type systems and semantic models can contribute to new language designs.The fifteen chapters are divided into five parts: Objects and Subtypes, Type Inference, Coherence, Record Calculi, and Inheritance. The chapters are organized approximately in order of increasing complexity of the programming language constructs they consider - beginning with variations on Pascal- and Algol-like languages, developing the theory of illustrative record object models, and concluding with research directions for building a more comprehensive theory of object-oriented programming languages.Part I discusses the similarities and differences between "objects" and algebraic-style abstract data types, and the fundamental concept of a subtype. Parts II-IV are concerned with the "record model" of object-oriented languages. Specifically, these chapters discuss static and dynamic semantics of languages with simple object models that include a type or class hierarchy but do not explicitly provide what is often called dynamic binding. Part V considers extensions and modifications to record object models, moving closer to the full complexity of practical object-oriented languages.Carl A. Gunter is Professor in the Department of Computer and Information Science at the University of Pennsylvania. John C. Mitchell is Professor in the Department of Computer Science at Stanford University.


Object-Oriented Programming Languages: Interpretation

Object-Oriented Programming Languages: Interpretation

Author: Iain D. Craig

Publisher: Springer Science & Business Media

Published: 2007-07-16

Total Pages: 258

ISBN-13: 184628774X

DOWNLOAD EBOOK

This comprehensive examination of the main approaches to object-oriented language explains key features of the languages in use today. Class-based, prototypes and Actor languages are all examined and compared in terms of their semantic concepts. This book provides a unique overview of the main approaches to object-oriented languages. Exercises of varying length, some of which can be extended into mini-projects are included at the end of each chapter. This book can be used as part of courses on Comparative Programming Languages or Programming Language Semantics at Second or Third Year Undergraduate Level. Some understanding of programming language concepts is required.


Object-Oriented Programming

Object-Oriented Programming

Author: Günther Blaschek

Publisher: Springer Science & Business Media

Published: 2012-12-06

Total Pages: 341

ISBN-13: 3642780776

DOWNLOAD EBOOK

Object-oriented programming is a popular buzzword these days. What is the reason for this popularity? Is object-oriented programming the solution to the software crisis or is it just a fad? Is it a simple evolutionary step or a radical change in software methodology? What is the central idea behind object-orien ted design? Are there special applications for which object-oriented program ming is particularly suited? Which object-oriented language should be used? There is no simple answer to these questions. Although object-oriented programming was invented more than twenty years ago, we still cannot claim that we know everything about this programming technique. Many new con cepts have been developed during the past decade, and new applications and implications of object-oriented programming are constantly being discovered. This book can only try to explain the nature of object-oriented program ming in as much detail as possible. It should serve three purposes. First, it is intended as an introduction to the basic concepts of object-oriented program ming. Second, the book describes the concept of prototypes and explains why and how they can improve the way in which object-oriented programs are developed. Third, it introduces the programming language Omega, an object oriented language that was designed with easy, safe and efficient software development in mind.


Concise Guide to Object-Oriented Programming

Concise Guide to Object-Oriented Programming

Author: Kingsley Sage

Publisher: Springer

Published: 2019-04-23

Total Pages: 195

ISBN-13: 3030133044

DOWNLOAD EBOOK

This engaging textbook provides an accessible introduction to coding and the world of Object-Oriented (OO) programming, using Java as the illustrative programming language. Emphasis is placed on what is most helpful for the first-time coder, in order to develop and understand their knowledge and skills in a way that is relevant and practical. The examples presented in the text demonstrate how skills in OO programming can be used to create applications and programs that have real-world value in daily life. Topics and features: presents an overview of programming and coding, a brief history of programming languages, and a concise introduction to programming in Java using BlueJ; discusses classes and objects, reviews various Java library objects and packages, and introduces the idea of the Application Programming Interface (API); highlights how OO design forms an essential role in producing a useful solution to a problem, and the importance of the concept of class polymorphism; examines what to do when code encounters an error condition, describing the exception handling mechanism and practical measures in defensive coding; investigates the work of arrays and collections, with a particular focus on fixed length arrays, the ArrayList, HashMap and HashSet; describes the basics of building a Graphical User Interface (GUI) using Swing, and the concept of a design pattern; outlines two complete applications, from conceptual design to implementation, illustrating the content covered by the rest of the book; provides code for all examples and projects at an associated website. This concise guide is ideal for the novice approaching OO programming for the first time, whether they are a student of computer science embarking on a one-semester course in this area, or someone learning for the purpose of professional development or self-improvement. The text does not require any prior knowledge of coding, software engineering, OO, or mathematics.


Aliasing in Object-Oriented Programming

Aliasing in Object-Oriented Programming

Author: David Clarke

Publisher: Springer

Published: 2013-03-21

Total Pages: 521

ISBN-13: 3642369464

DOWNLOAD EBOOK

This book presents a survey of the state-of-the-art on techniques for dealing with aliasing in object-oriented programming. It marks the 20th anniversary of the paper The Geneva Convention On The Treatment of Object Aliasing by John Hogg, Doug Lea, Alan Wills, Dennis de Champeaux and Richard Holt. The 22 revised papers were carefully reviewed to ensure the highest quality.The contributions are organized in topical sections on the Geneva convention, ownership, concurrency, alias analysis, controlling effects, verification, programming languages, and visions.


The Object-Oriented Thought Process

The Object-Oriented Thought Process

Author: Matt Weisfeld

Publisher: Addison-Wesley Professional

Published: 2019-04-04

Total Pages: 426

ISBN-13: 013518214X

DOWNLOAD EBOOK

Object-oriented programming (OOP) is the foundation of modern programming languages, including C++, Java, C#, Visual Basic .NET, Ruby, Objective-C, and Swift. Objects also form the basis for many web technologies such as JavaScript, Python, and PHP. It is of vital importance to learn the fundamental concepts of object orientation before starting to use object-oriented development environments. OOP promotes good design practices, code portability, and reuse–but it requires a shift in thinking to be fully understood. Programmers new to OOP should resist the temptation to jump directly into a particular programming language or a modeling language, and instead first take the time to learn what author Matt Weisfeld calls “the object-oriented thought process.” Written by a developer for developers who want to improve their understanding of object-oriented technologies, The Object-Oriented Thought Process provides a solutions-oriented approach to object-oriented programming. Readers will learn to understand the proper uses of inheritance and composition, the difference between aggregation and association, and the important distinction between interfaces and implementations. While programming technologies have been changing and evolving over the years, object-oriented concepts remain a constant–no matter what the platform. This revised edition focuses on the OOP technologies that have survived the past 20 years and remain at its core, with new and expanded coverage of design patterns, avoiding dependencies, and the SOLID principles to help make software designs understandable, flexible, and maintainable.


Object-Oriented Programming and Java

Object-Oriented Programming and Java

Author: Danny C. C. Poo

Publisher: Springer Science & Business Media

Published: 2008

Total Pages: 328

ISBN-13: 1846289629

DOWNLOAD EBOOK

Covering the latest in Java technologies, Object-Oriented Programming and Java teaches the subject in a systematic, fundamentals-first approach. It begins with the description of real-world object interaction scenarios and explains how they can be translated, represented and executed using object-oriented programming paradigm. By establishing a solid foundation in the understanding of object-oriented programming concepts and their applications, this book provides readers with the pre-requisites for writing proper object-oriented programs using Java.