Changes to ECMAScript, Part 2: Harmony Highlights - Proxies and Traits

Posted in Companies, Development, Web Technologies, Conferences on July 08, 2012

Google Tech Talk
April 20, 2010


Presented by Tom Van Cutsem.

We discuss two proposed language features for inclusion in ECMAScript-Harmony. The first, dynamic proxies, enables Javascript programmers to create proxy objects that can intercept property access, assignment, enumeration, etc. It is a powerful metaprogramming mechanism that provides a standard API for creating generic wrappers for transparent access control, implementing legacy API adaptors, profilers, lazy initialization, etc.

The second part of the talk introduces a traits library for ECMAScript 5. Traits are a more robust alternative to multiple inheritance or mixin-based composition. Based on ECMAScript 5's new "property descriptor" API, we built a portable lightweight library that supports trait-based object composition. We discuss the limitations of introducing traits using a library approach and highlight the benefits of direct support for traits in ECMAScript-Harmony.

Talk slides are available here:

Part 1 of this talk series is available here:

Tom Van Cutsem is a post-doc researcher at the University of Brussels (VUB) in Belgium. His research focus is on programming language design and implementation, with an emphasis on metaprogramming, concurrent and distributed programming. He is co-designer of the distributed scripting language AmbientTalk. Tom is currently on a six-month Visiting Faculty appointment at Google in MTV, cooperating with Mark Miller on Ecmascript-Harmony, the next standard edition of the Javascript programming language.

Watch Video

Tags: Google, tech, Talk, Programming, Language, Javascript, GoogleTechTalks