Teaching with Grace

46 minutes, 0 seconds


Right click “Save as…”


We are engaged in the design of a new object-oriented educational programming language called Grace.

Our motivation is frustration with available languages, none of which seems to be suited to our target audience: students in the first two programming courses who are learning to program in an object-oriented style.

Grace aims to be significantly simpler than existing languages, and yet make it possible to write powerful libraries that effectively extend the language.  Grace achieves this by using blocks (representing functions) to define all its "built-in" control structures, so each new kind of data object defined in a library can be equipped with the control structures necessary to make it appear "first class".

Grace also supports, but does not require, static type checking.  This makes it possible to use Grace as a dynamically typed language, to start with dynamic types and add static types later, or to teach static types from the beginning.

We will discuss the design principles behind Grace, and the current state of the language design, as well as soliciting your feedback.  For more information, see http://www.gracelang.org.

Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.