Author: Carl A. Gunter
Publisher: MIT Press
ISBN: 9780262071550
Category : Computers
Languages : en
Pages : 568
Book Description
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.
Theoretical Aspects of Object-oriented Programming
Author: Carl A. Gunter
Publisher: MIT Press
ISBN: 9780262071550
Category : Computers
Languages : en
Pages : 568
Book Description
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.
Publisher: MIT Press
ISBN: 9780262071550
Category : Computers
Languages : en
Pages : 568
Book Description
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 A Unified Foundation
Author: Giuseppe Castagna
Publisher: Springer Science & Business Media
ISBN: 1461241383
Category : Computers
Languages : en
Pages : 372
Book Description
by Luea Cardelli Ever since Strachey's work in the 1960's, polymorphism has been classified into the parametric and overloading varieties. Parametric polymorphism has been the subject of extensive study for over two decades. Overloading, on the other hand, has often been considered too ad hoc to deserve much attention even though it has been, in some form, an ingredient of virtually every programming lan guage (much more so than parametric polymorphism). With the introduction of object-oriented languages, and in particular with multiple-dispatch object-oriented languages, overloading has become less of a programming convenience and more of a fundamental feature in need of proper explanation. This book provides a compelling framework for the study of run-time over loading and of its interactions with subtyping and with parametric polymorphism. The book also describes applications to object-oriented programming. This new framework is motivated by the relatively recent spread of programming languages that are entirely based on run-time overloading; this fact probably explains why this subject was not investigated earlier. Once properly understood, overloading reveals itself relevant also to the study of older and more conventional (single dispatch) object-oriented languages, clarifying delicate issues of covariance and contravariance of method types, and of run-time type analysis. In the final chapters, a synthesis is made between parametric and overloading polymorphism.
Publisher: Springer Science & Business Media
ISBN: 1461241383
Category : Computers
Languages : en
Pages : 372
Book Description
by Luea Cardelli Ever since Strachey's work in the 1960's, polymorphism has been classified into the parametric and overloading varieties. Parametric polymorphism has been the subject of extensive study for over two decades. Overloading, on the other hand, has often been considered too ad hoc to deserve much attention even though it has been, in some form, an ingredient of virtually every programming lan guage (much more so than parametric polymorphism). With the introduction of object-oriented languages, and in particular with multiple-dispatch object-oriented languages, overloading has become less of a programming convenience and more of a fundamental feature in need of proper explanation. This book provides a compelling framework for the study of run-time over loading and of its interactions with subtyping and with parametric polymorphism. The book also describes applications to object-oriented programming. This new framework is motivated by the relatively recent spread of programming languages that are entirely based on run-time overloading; this fact probably explains why this subject was not investigated earlier. Once properly understood, overloading reveals itself relevant also to the study of older and more conventional (single dispatch) object-oriented languages, clarifying delicate issues of covariance and contravariance of method types, and of run-time type analysis. In the final chapters, a synthesis is made between parametric and overloading polymorphism.
Research Directions in Object-oriented Programming
Author: Bruce D. Shriver
Publisher:
ISBN:
Category : Computers
Languages : en
Pages : 604
Book Description
Once a radical notion, object-oriented programming is one of today's most active research areas. It is especially well suited to the design of very large software projects involving many programmers all working on the same project. The original contributions in this book will provide researchers and students in programming languages, databases, and programming semantics with the most complete survey of the field available. Broad in scope and deep in its examination of substantive issues, the book focuses on the major topics of object-oriented languages, models of computation, mathematical models, object-oriented databases, and object-oriented environments. The object-oriented languages include Beta, the Scandinavian successor to Simula (a chapter by Bent Kristensen, whose group has had the longest experience with object-oriented programming, reveals how that experience has shaped the group's vision today); CommonObjects, a Lisp-based language with abstraction; Actors, a low-level language for concurrent modularity; and Vulcan, a Prolog-based concurrent object-oriented language. New computational models of inheritance, composite objects, block-structure layered systems, and classification are covered, and theoretical papers on functional object-oriented languages and object-oriented specification are included in the section on mathematical models. The three chapters on object-oriented databases (including David Maier's "Development and Implementation of an Object-Oriented Database Management System," which spans the programming and database worlds by integrating procedural and representational capability and the requirements of multi-user persistent storage) and the two chapters on object-oriented environments provide a representative sample of good research in these two important areas. Bruce Shriver is a researcher at IBM's Thomas J. Watson Research Center. Peter Wegner is a professor in the Department of Computer Science at Brown University. Research Directions in Object-Oriented Programmingis included in the Computer Systems series, edited by Herb Schwetman.
Publisher:
ISBN:
Category : Computers
Languages : en
Pages : 604
Book Description
Once a radical notion, object-oriented programming is one of today's most active research areas. It is especially well suited to the design of very large software projects involving many programmers all working on the same project. The original contributions in this book will provide researchers and students in programming languages, databases, and programming semantics with the most complete survey of the field available. Broad in scope and deep in its examination of substantive issues, the book focuses on the major topics of object-oriented languages, models of computation, mathematical models, object-oriented databases, and object-oriented environments. The object-oriented languages include Beta, the Scandinavian successor to Simula (a chapter by Bent Kristensen, whose group has had the longest experience with object-oriented programming, reveals how that experience has shaped the group's vision today); CommonObjects, a Lisp-based language with abstraction; Actors, a low-level language for concurrent modularity; and Vulcan, a Prolog-based concurrent object-oriented language. New computational models of inheritance, composite objects, block-structure layered systems, and classification are covered, and theoretical papers on functional object-oriented languages and object-oriented specification are included in the section on mathematical models. The three chapters on object-oriented databases (including David Maier's "Development and Implementation of an Object-Oriented Database Management System," which spans the programming and database worlds by integrating procedural and representational capability and the requirements of multi-user persistent storage) and the two chapters on object-oriented environments provide a representative sample of good research in these two important areas. Bruce Shriver is a researcher at IBM's Thomas J. Watson Research Center. Peter Wegner is a professor in the Department of Computer Science at Brown University. Research Directions in Object-Oriented Programmingis included in the Computer Systems series, edited by Herb Schwetman.
Advanced R
Author: Hadley Wickham
Publisher: CRC Press
ISBN: 1498759807
Category : Mathematics
Languages : en
Pages : 669
Book Description
An Essential Reference for Intermediate and Advanced R Programmers Advanced R presents useful tools and techniques for attacking many types of R programming problems, helping you avoid mistakes and dead ends. With more than ten years of experience programming in R, the author illustrates the elegance, beauty, and flexibility at the heart of R. The book develops the necessary skills to produce quality code that can be used in a variety of circumstances. You will learn: The fundamentals of R, including standard data types and functions Functional programming as a useful framework for solving wide classes of problems The positives and negatives of metaprogramming How to write fast, memory-efficient code This book not only helps current R users become R programmers but also shows existing programmers what’s special about R. Intermediate R programmers can dive deeper into R and learn new strategies for solving diverse problems while programmers from other languages can learn the details of R and understand why R works the way it does.
Publisher: CRC Press
ISBN: 1498759807
Category : Mathematics
Languages : en
Pages : 669
Book Description
An Essential Reference for Intermediate and Advanced R Programmers Advanced R presents useful tools and techniques for attacking many types of R programming problems, helping you avoid mistakes and dead ends. With more than ten years of experience programming in R, the author illustrates the elegance, beauty, and flexibility at the heart of R. The book develops the necessary skills to produce quality code that can be used in a variety of circumstances. You will learn: The fundamentals of R, including standard data types and functions Functional programming as a useful framework for solving wide classes of problems The positives and negatives of metaprogramming How to write fast, memory-efficient code This book not only helps current R users become R programmers but also shows existing programmers what’s special about R. Intermediate R programmers can dive deeper into R and learn new strategies for solving diverse problems while programmers from other languages can learn the details of R and understand why R works the way it does.
A Theory of Objects
Author: Martin Abadi
Publisher: Springer Science & Business Media
ISBN: 1441985980
Category : Computers
Languages : en
Pages : 392
Book Description
By developing object calculi in which objects are treated as primitives, the authors are able to explain both the semantics of objects and their typing rules, and also demonstrate how to develop all of the most important concepts of object-oriented programming languages: self, dynamic dispatch, classes, inheritance, protected and private methods, prototyping, subtyping, covariance and contravariance, and method specialization. An innovative and important approach to the subject for researchers and graduates.
Publisher: Springer Science & Business Media
ISBN: 1441985980
Category : Computers
Languages : en
Pages : 392
Book Description
By developing object calculi in which objects are treated as primitives, the authors are able to explain both the semantics of objects and their typing rules, and also demonstrate how to develop all of the most important concepts of object-oriented programming languages: self, dynamic dispatch, classes, inheritance, protected and private methods, prototyping, subtyping, covariance and contravariance, and method specialization. An innovative and important approach to the subject for researchers and graduates.
Standard C++ with Object-oriented Programming
Author: Paul S. Wang
Publisher: Course Technology
ISBN:
Category : Computers
Languages : en
Pages : 598
Book Description
While there are many books used to teach the C++ programming course, very few have been written specifically as texts. STANDARD C++ WITH OBJECT-ORIENTED PROGRAMMING is intended for courses in C++ programming, object-oriented programming, or any combination of the two at the sophomore level or higher. Prerequisites for this course are Introduction to Programming (CS1) and Data Structures (CS2). This text treats C++ as a tool for bridging real-world application, addressing basic theoretical concepts of object-oriented programming. The material is organized and presented in a simple, concise, and easy-to-follow manner. Wang has developed interesting examples and challenging exercises that reinforce the text's hands-on approach.
Publisher: Course Technology
ISBN:
Category : Computers
Languages : en
Pages : 598
Book Description
While there are many books used to teach the C++ programming course, very few have been written specifically as texts. STANDARD C++ WITH OBJECT-ORIENTED PROGRAMMING is intended for courses in C++ programming, object-oriented programming, or any combination of the two at the sophomore level or higher. Prerequisites for this course are Introduction to Programming (CS1) and Data Structures (CS2). This text treats C++ as a tool for bridging real-world application, addressing basic theoretical concepts of object-oriented programming. The material is organized and presented in a simple, concise, and easy-to-follow manner. Wang has developed interesting examples and challenging exercises that reinforce the text's hands-on approach.
Foundations of Object-oriented Languages
Author: Kim B. Bruce
Publisher: MIT Press
ISBN: 9780262025232
Category : Computers
Languages : en
Pages : 416
Book Description
A presentation of the formal underpinnings of object-oriented programming languages.
Publisher: MIT Press
ISBN: 9780262025232
Category : Computers
Languages : en
Pages : 416
Book Description
A presentation of the formal underpinnings of object-oriented programming languages.
Object-oriented Programming with C++ and Smalltalk
Author: Caleb Drake
Publisher:
ISBN:
Category : Computers
Languages : en
Pages : 1030
Book Description
This text describes the design goals and language features of object-oriented languages without viewing them from the perspective of any particular language. The author discusses Smalltalk-80 and C++ so students can understand how these concepts are realized. It provides coverage of the object model from a software design and language feature perspective, as well as covering key object-oriented principles - date abstraction, inheritance, polymorphism, and dynamic binding. Detailed coverage of Smalltalk and C++ emphasize their similarities and differences in terms of design goals, language features, and usage. Also discussed are: the benefits of the object model; the latest extensions to C++; and the application of object-oriented concepts to the development of large software projects. Chapter summaries, extensive exercises, and a glossary of object-oriented terminology support the text.
Publisher:
ISBN:
Category : Computers
Languages : en
Pages : 1030
Book Description
This text describes the design goals and language features of object-oriented languages without viewing them from the perspective of any particular language. The author discusses Smalltalk-80 and C++ so students can understand how these concepts are realized. It provides coverage of the object model from a software design and language feature perspective, as well as covering key object-oriented principles - date abstraction, inheritance, polymorphism, and dynamic binding. Detailed coverage of Smalltalk and C++ emphasize their similarities and differences in terms of design goals, language features, and usage. Also discussed are: the benefits of the object model; the latest extensions to C++; and the application of object-oriented concepts to the development of large software projects. Chapter summaries, extensive exercises, and a glossary of object-oriented terminology support the text.
Concepts in Programming Languages
Author: John C. Mitchell
Publisher: Cambridge University Press
ISBN: 9780521780988
Category : Computers
Languages : en
Pages : 546
Book Description
A comprehensive undergraduate textbook covering both theory and practical design issues, with an emphasis on object-oriented languages.
Publisher: Cambridge University Press
ISBN: 9780521780988
Category : Computers
Languages : en
Pages : 546
Book Description
A comprehensive undergraduate textbook covering both theory and practical design issues, with an emphasis on object-oriented languages.
Designing Object-oriented Software
Author: Rebecca Wirfs-Brock
Publisher: Pearson
ISBN:
Category : Computers
Languages : en
Pages : 376
Book Description
Software -- Software Engineering.
Publisher: Pearson
ISBN:
Category : Computers
Languages : en
Pages : 376
Book Description
Software -- Software Engineering.