Grace's Inheritance

By: James Noble, Andrew P. Black, Kim B. Bruce, Michael Homer, Timothy Jones

Abstract

This article is an apologia for the design of inheritance in the Grace educational programming language: it explains how the design of Grace’s inheritance draws from inheritance mechanisms in predecessor languages, and defends that design as the best of the available alternatives. For simplicity, Grace objects are generated from object constructors, like those of Emerald, Lua, and Javascript; for familiarity, the language also provides classes and inheritance, like Simula, Smalltalk and Java. The design question we address is whether or not object constructors can provide an inheritance semantics similar to classes.

Keywords

object-oriented, inheritance, programming languages, Grace, programming language design, design rationale

Cite as:

James Noble, Andrew P. Black, Kim B. Bruce, Michael Homer, Timothy Jones, “Grace's Inheritance”, Journal of Object Technology, Volume 16, no. 2 (April 2017), pp. 2:1-35, doi:10.5381/jot.2017.16.2.a2.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact