O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Allen Wirfs Brock Presentation Es5 Panel

  • Entre para ver os comentários

  • Seja a primeira pessoa a gostar disto

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.

×