Sign In

Communications of the ACM

BLOG@CACM

Grace: A Manifesto for a New Educational Object-Oriented Programming Language


Jack Rosenberger

One of the most interesting and ambitious panel discussions at SPLASH 2010 was “Manifesto: a New Educational Programming Language” in which Andrew Black, Kim B. Bruce, and James Noble presented their proposal for a new educational object-oriented programming language called Grace. The idea for Grace came about at ECOOP 2010 in Maribor, Slovenia, when Black, Bruce, Noble, and a set of like-minded computer science teachers grappled with the question, “What are we going to be teaching in CS intro courses in five years?”

The threesome decided to team up with the goal of developing Grace by 2015. Their main motivations involve wanting, in the early part of the CS curriculum, a new language that possesses low overhead for simple programs, language levels, solid generics, static and dynamic typing, high level constructs for concurrency/parallelism, support for immutable objects, and power of functional constructs.

As trio explained during the SPLASH panel discussion, the fundamentals of Grace will include everything is an object, simple method dispatch, single inheritance, language levels for teaching, extensible via libraries (control and data), and readability for Java, C, Python, and Scala programmers. Ideally, they want the features of Grace to include uncluttered code, layout significance, structural typing, local type inference, separate subtyping from inheritance, user-definable operators, sensible generics, lambdas, support for static and dynamic typing, and parallel programming.

Their SPLASH paper, “Designing the Next Educational Programming Language,” is available here

Black, Bruce, and Noble have set up a Web site, http://gracelang.org/, which will feature material for review, news, and more. Most importantly, they will need a lot of assistance and support, and are seeking programmers, implementers, library and IDE writers, testers, teachers, and others to help with their project.

Interested? If so, here’s their contact info:

Alex Black: black@cs.pdx.edu
Kim B. Bruce: kim@cs.pomona.edu
James Noble: kjx@ecs.vuw.ac.nz


Jack Rosenberger is senior editor, news, of Communications of the ACM.
 


Comments


K Wampler

As a professional developer with ~20 years of experiencing, I'm part of the movement that wants to de-emphasize object-oriented programming in favor of functional programming. I say this as someone who was once convinced that OOP is the best modularity approach for software (and I flirted with aspect-oriented programming for a while...). Therefore, I would prefer a teaching language that emphasizes functional programming over object-oriented programming, not the other way around.


Anonymous

Which programming language(s) do they use in the introductory courses they teach now?


Displaying all 2 comments

Comment on this article

Signed comments submitted to this site are moderated and will appear if they are relevant to the topic and not abusive. Your comment will appear with your username if published. View our policy on comments

(Please sign in or create an ACM Web Account to access this feature.)

Create an Account

Log in to Submit a Signed Comment

Sign In »

Sign In

Signed comments submitted to this site are moderated and will appear if they are relevant to the topic and not abusive. Your comment will appear with your username if published. View our policy on comments
Forgot Password?

Create a Web Account

An email verification has been sent to youremail@email.com
ACM verĩes that you are the owner of the email address you've provided by sending you a verĩcation message. The email message will contain a link that you must click to validate this account.
NEXT STEP: CHECK YOUR EMAIL
You must click the link within the message in order to complete the process of creating your account. You may click on the link embedded in the message, or copy the link and paste it into your browser.