The Essence of Inheritance
Andrew P. Black, Kim B. Bruce, and James Noble

TL;DR
The paper discusses the fundamental role of inheritance in programming languages as a means to enhance human understanding by facilitating the transition from concrete examples to abstract concepts.
Contribution
It highlights the conceptual importance of inheritance as a formal mechanism that mirrors human learning processes in programming language design.
Findings
Inheritance aids in human comprehension of code.
It serves as a bridge from concrete examples to abstract understanding.
Inheritance is essential for effective communication in programming languages.
Abstract
Programming languages serve a dual purpose: to communicate programs to computers, and to communicate programs to humans. Indeed, it is this dual purpose that makes programming language design a constrained and challenging problem. Inheritance is an essential aspect of that second purpose: it is a tool to improve communication. Humans understand new concepts most readily by first looking at a number of concrete examples, and later abstracting over those examples. The essence of inheritance is that it mirrors this process: it provides a formal mechanism for moving from the concrete to the abstract.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputability, Logic, AI Algorithms
