TITLE: Grace: A new object-oriented educational programming language
SPEAKER: James Noble (Victoria University of Wellington)
HOST: Philippe Kruchten, ECE
LOCATION: ICICS/CS X836, 2366 Main Mall, Vancouver, BC
DATE & TIME: May 7, 2013, at 4:00 p.m.
We are engaged in the design of a new object-oriented educational programming language called Grace. Our motivation is frustration with available languages, most of which are approaching 20 years old. In this talk, I’ll outline the principal features of Grace: purely object-oriented, structurally typed, gradually-typed, first-class blocks (lambda expressions) which are used to build all control structures, pattern matching, a basic module system. I’ll talk about Grace’s support for “dialects”: sublanguages that can provide a subset of features for teaching novices, or can support flexible domain specific languages for more advanced students. I’ll also discuss open issues, and listen to your reactions while all the choices are still on the table. In particular, I’ll give some examples from the design process so far, showing how conceptually orthogonal design decisions all too easily end up as tightly coupled gordian knots.
For more information, see http://gracelang.org/applications/home/. (This is work performed with Andrew Black, Kim Bruce, Michael Homer.)
James Noble is Professor of Computer Science and Software Engineering at Victoria University New Zealand. He has published many papers on object-orientation, design patterns, aspects, software visualisation and software engineering in international academic conferences and journals. He is the author of Small Memory Systems: Patterns for Systems with Limited Memory (with Charles Weir), editor of Prototype-Based Programming and Pattern Languages of Program Design 5 (with various co-editors), the Foundation Editor-In-Chief, Springer-Verlag Transactions on Pattern Languages of Programming, and on the Editorial Boards of IEEE Software, Systems Signs and Actions, and the International Journal of Agile and Extreme Software Development. He has been on the Programme Committees of a number of conferences, including OOPSLA (including Chair of Onward! and the Doctoral Symposium), ECOOP, AOSD, TOOLS, ACCPM, AUIC, ACSC, CATS, EuroPLOP, KoalaPLoP (including as Chair), and VL/HCC.