Grace: the Absence of (Inessential) Difficulty
We are engaged in the design of a small, simple programming language for
teaching novices object-oriented programming. This turns out to be far from a
small, simple task. We focus on three of the problems that we encountered, and
how we believe we have solved them. The problems are (1) gracefully combining
object initialization, inheritance, and immutable objects, (2) reconciling
apparently irreconcilable views on type-checking, and (3) providing a family of
languages, each suitable for students at different levels of mastery, while
ensuring conceptual integrity of their designs. In each case our solutions are
based on existing research; our contribution is, by design, consolidation
rather than innovation.
Andrew P. Black, Kim B. Bruce, Michael Homer, James Noble
Symposium on New Ideas in Programming and Reflections on Software (Onward!
Michael Homer — 2018