Allen Wirfs Brock Presentation Es5 Panel

618 views

Published on

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
618
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
23
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Allen Wirfs Brock Presentation Es5 Panel

  1. 1. ES5: ECMAScript Standards for a Better Web Panelists: Allen Wirfs-Brock, Microsoft (Moderator) Brendan Eich, Mozilla Douglas Crockford, Yahoo! Mark S. Miller, Google
  2. 2. <ul><li>Final Document will be approved by TC39 next week. </li></ul><ul><li>Ratification as official standard at December ECMA General Assembly meeting. </li></ul>ECMAScript 5 is Finished!
  3. 3. What’s new in ES5 <ul><li>Enhanced Object Model & Reflection API </li></ul><ul><ul><li>Getter/Setter Properties </li></ul></ul><ul><ul><li>Configurable Attributes </li></ul></ul><ul><ul><ul><li>Enumerable, Writable, Configurable </li></ul></ul></ul><ul><ul><li>Sealed/Frozen Objects </li></ul></ul><ul><ul><li>Property Interrogation </li></ul></ul><ul><ul><li>Object.create(proto,…) </li></ul></ul><ul><li>Technical Corrections </li></ul><ul><ul><li>Readonly NaN, undefined,etc. </li></ul></ul><ul><ul><li>arguments is enumerable </li></ul></ul><ul><ul><li>Array.prototype fully generic </li></ul></ul><ul><ul><li>Etc. Etc… </li></ul></ul><ul><li>Strict Mode </li></ul><ul><ul><li>Enhanced Error Checking </li></ul></ul><ul><ul><li>Tamed global object access </li></ul></ul><ul><ul><li>Private eval scopes </li></ul></ul><ul><li>Native JSON </li></ul><ul><li>Library Enhancements </li></ul><ul><ul><li>“ Array Extras” + reduce[Right] </li></ul></ul><ul><ul><li>String trim </li></ul></ul><ul><ul><li>Function bind </li></ul></ul><ul><ul><li>Date ISO string format </li></ul></ul>
  4. 4. What Does ECMA TC39 Actually Do? <ul><li>Codify successful browser/community innovation </li></ul><ul><ul><li>Mozilla “Array Extras” </li></ul></ul><ul><li>Polish promising innovations </li></ul><ul><ul><li>json2.js  ES5 JSON support </li></ul></ul><ul><li>Synthesize from browser experiments & user requirements </li></ul><ul><ul><li>__defineSetter__ + framework builder needs  ES5 Object Model enhancements and Reflection API </li></ul></ul><ul><li>Invent when necessary to solve real world problems </li></ul><ul><ul><li>Security & usability concerns  ES5 Strict Mode </li></ul></ul>
  5. 5. What’s Next: ECMAScript “Harmony” <ul><li>Be a better language for writing: </li></ul><ul><ul><li>complex applications; </li></ul></ul><ul><ul><li>libraries (possibly including the DOM) shared by those applications; </li></ul></ul><ul><ul><li>code generators targeting the new edition. </li></ul></ul><ul><li>Switch to a testable specification, ideally a definitional interpreter hosted mostly in ES5. </li></ul><ul><li>Improve interoperation, adopting de facto standards where possible. </li></ul><ul><li>Keep versioning as simple and linear as possible. </li></ul><ul><li>Support a statically verifiable, object-capability secure subset. </li></ul>Goals <ul><li>New features require concrete demonstrations. </li></ul><ul><li>Keep the language pleasant for casual developers. </li></ul><ul><li>Preserve the “start small and iteratively prototype” nature of the language. </li></ul>Requirements <ul><li>Minimize the additional semantic state needed beyond ES5. </li></ul><ul><li>Provide syntactic conveniences for: </li></ul><ul><ul><li>good abstraction patterns; </li></ul></ul><ul><ul><li>high integrity patterns; </li></ul></ul><ul><ul><li>defined by desugaring into kernel semantics. </li></ul></ul><ul><li>Remove (via opt-in versioning or pragmas) confusing or troublesome constructs: Consider building on ES5 strict. </li></ul><ul><li>Support virtualizability, for host object emulation </li></ul>Means 10 Year Release Cycle
  6. 6. Panel Q&A? Panelists/ECMA TC39 Member Representatives: Allen Wirfs-Brock, Microsoft (Moderator) Brendan Eich, Mozilla Douglas Crockford, Yahoo! Mark S. Miller, Google
  7. 7. Please complete an evaluation.

×