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