Grace: the Absence of (Inessential) Difficulty
- 🏆 Awarded Most Notable Paper of Onward! 2012
Abstract
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.
Authors
Andrew P. Black, Kim B. Bruce, Michael Homer, James Noble
Published in
Symposium on New Ideas in Programming and Reflections on Software (
Onward!), 2012
The final copy of this publication is available from
the publisher.
Resources
In 2024, this work received the Most Notable Paper Award relating to Onward! 12 years earlier.
- Citation
- In this Onward! 2012 paper, the authors distilled a tremendous effort to accommodate the needs of programming pedagogy in a new language design. The paper is a model of clarity, deftly justifying its choices while also situating Grace within the rich history of programming languages past and present. It has supported and inspired considerable follow-on work, not only on pedagogy but also in programming language research topics such as gradual typing and the semantics of object-orientation.
- PDF
- mwh.nz/pdf/onward2012
- this page
- mwh.nz/pubs/onward2012