[PRL] Fwd: ES4 News and Opinion

Mitchell Wand wand at ccs.neu.edu
Wed Nov 7 08:04:12 EST 2007


Hmm, sound familiar? --Mitch



Sent to you by Mitch via Google Reader:


ES4 News and Opinion<http://weblogs.mozillazine.org/roadmap/archives/2007/11/es4_news_and_opinion.html>
via Brendan's Roadmap Updates <http://weblogs.mozillazine.org/roadmap/> by
brendan on 11/5/07

ES4 News

Some news on language size: the proposed ECMAScript 4th edition (ES4)
grammar is a bit more than
twice<https://mail.mozilla.org/pipermail/es4-discuss/2007-October/001442.html>as
big as ES3's, counting several ways (concrete productions, abstract
syntax tree node types):

Syntax                   ES3   ES4
------                   ---   ---
Concrete                 238   490
  Type Exprs                    50
  Classes & Interfaces          23
  Patterns                      17


Abstract                  33    77

This is not out of line given the eight years since ES3, which came less
than three years after ES1. Much of ES4 has been developed and shipped in
ES3-based languages: AS3 in Flash, JS1.6 and 1.7 in Firefox, Opera's
extensions including array destructuring. And we're being generous with
syntactic conveniences, which desugar to a smaller core language.

On the compatibility front, we have a new document on known
incompatibilities
<http://www.ecmascript.org/es4/spec/incompatibilities.pdf>between ES3
(ECMA-262 Edition 3
*the spec*, not real-world behavior of ES3 implementations in browsers --
note well) and ES4.
Contradiction

Chris Wilson<http://blogs.msdn.com/cwilso/archive/2007/10/31/what-i-think-about-es4.aspx>:
"... I don't think the other Microsoft guys ever intended to say 'everything
about ES4 is bad'."

Pratap Lakshman
(Microsoft)<http://wiki.ecmascript.org/doku.php?id=meetings:minutes_sep_27_2007#unresolved_proposalsthe_sequel>:
"We do not support or agree to the current ES4 proposal, either in whole or
*in part*."

Individual intentions can be hard to judge, and anyway matter less than
effects. My point is not to guess about intentions, only to point to
statements and actions.
Clarification

It's a relief to
learn<http://blogs.msdn.com/cwilso/archive/2007/11/02/my-opinion.aspx>that
Chris's charge of "shouting down dissent" -- confusingly juxtaposed
with his words "I think it's a shame that dissenting opinion has been hidden
from view", which seem to point to the ECMAScript standards body's majority
in a way that left many readers thinking that someone in Ecma TC39-TG1
actually shouted at Microsoft reps during a meeting -- was really just a
complaint about bloggers "shouting" (which is news-at-11 fodder, don't you
think? I've seen shouting from all sides on this one).

That leaves the charge of
"ignoring"<http://blog.mozilla.com/rob-sayre/2007/10/31/working-on-a-proposal/#comment-4403>,
which was not aimed at the blogosphere -- that accusation was aimed straight
at "the TG-1 committee chair", presumably me (I'm TG1 Convenor). But it is
simply false to claim I've
ignored<http://wiki.ecmascript.org/doku.php?id=meetings:minutes_apr_18_2007#es3.1_proposals>
compatibility<http://wiki.ecmascript.org/doku.php?id=meetings:minutes_jun_21_2007#maintenance_of_es3>
concerns<http://wiki.ecmascript.org/doku.php?do=search&id=brendan+compatibility>or
anything else raised by a member of TG1.

Still, if we can make progress by agreeing that bloggers sometimes shout, or
show bad manners, I'm all for it. My manners aren't perfect, and I'm sorry
when they fail. But morals trump manners, and the overarching issue before
us remains: is it right for ES4 to be stalled in committee, or for ES3 to be
forked into a now-hidden<http://wiki.ecmascript.org/doku.php?id=meetings:minutes_sep_27_2007#unresolved_proposals>"
ES3.1", because Microsoft and Doug Crockford object to ES4 on general
grounds?
Consistency

Whatever you think of ES4 (and it's not done yet -- we just released a
reference
implementation update <http://www.ecmascript.org/download.php>), the
history<http://www.neilmix.com/2007/11/01/the-story-behind-es4/>nicely
reconstructed by Neil Mix should make clear that it has been a long
time coming, most of the time without anyone refusing to support it "in
whole or in part". The July 2006 meeting
notes<http://wiki.ecmascript.org/doku.php?id=meetings:minutes_jul_27_2006>include
a statement from Pratap that ES4 would be implemented in the next
major IE release after IE7.

Of course this all changed, starting early in 2007, officially only in
March. But why did it change? Was all the pre-history, including Microsoft's
implementation of JScript.NET, a big mistake? Did JScript.NET really "fail",
and fail in any way that bears on ES4 itself or its future on the client
side of the web? I think not, and the generalities about breaking the web,
or the web not needing to change much, do not explain this about-face from
2006 to 2007.

Anyone who reads the face-to-face meeting
notes<http://wiki.ecmascript.org/doku.php?id=meetings:meetings>can see
that everyone working on ES4, including me, would work on topics of
interest with whomever attended meetings. And we worked together well enough
when focused on technical issues. Allen Wirfs-Brock of Microsoft, in
particular, is very knowledgeable and insightful.
Rejection

But the cold hard fact, documented in that September face-to-face meeting
note<http://wiki.ecmascript.org/doku.php?id=meetings:minutes_sep_27_2007#unresolved_proposalsthe_sequel>,
is that the dissenting minority in TG1 rejects ES4 in whole and in part.
There does not seem to be room for compromise.

As TG1 Convenor, I've tried to keep any "3.1" work in the context of ES4, to
avoid a fork of ES3 into incompatible derivative languages. In particular,
any ES3.1 should be a subset of the ES4 reference implementation, so it can
be tested. This seemed agreeable in
March<http://wiki.ecmascript.org/doku.php?id=meetings:minutes_mar_21_2007#outcomes>,
and Allen reiterated agreement in
April<http://wiki.ecmascript.org/doku.php?id=meetings:minutes_apr_18_2007#es3.1_proposals>
.

Since April, it has been impossible for the majority of TG1 to evaluate
ES3.1. There has been no
work<http://wiki.ecmascript.org/doku.php?do=recent&first=100&id=>on
the wiki, and
almost<http://wiki.ecmascript.org/doku.php?id=meetings:minutes_jun_21_2007#eval>
no <http://wiki.ecmascript.org/doku.php?id=meetings:minutes_may_23_2007>
communication<http://wiki.ecmascript.org/doku.php?id=meetings:minutes_sep_27_2007#unresolved_proposals>to
the majority of TG1 about what's in
ES3.1 or how it will be tested for backward compatibilty with ES3 and
forward compatibility with ES4.
Do The Right Thing

Neither a hidden and unready alternative proposal, nor general objections
from a minority in the group, should halt a standard in progress. ES4 should
be delayed or abandoned only on technical demerits, demonstrated
specifically. There are enough implementors working together to make a
standard, and ES4 as it has evolved has always been the expected successor
standard. To block it based on general fears and opinions prejudges both the
final standard and the market for it. The market, not Ecma TC39-TG1, should
decide ES4's fate.

It should be clear by now that the majority of TG1, who favor ES4, want to
keep the group from splitting, or otherwise risking incompatible forks of
ES3. Everyone loses in that scenario.

We wouldn't have spent all the time in the wiki and at meetings if we all,
including me, didn't want a win-win outcome for all players. And I
personally suggested to Chris in March that Microsoft could be a big winner
by backing ES4 and supporting it in IE.

Is it still possible for everyone to win? I have to say I'm not as positive
as I used to be. If we all work on testable compatibility via the reference
implementation, then I'm somewhat more hopeful. But it will take a better
stance than rejection of ES4 "in whole [and] in part" to get somewhere.



Things you can do from here:

   - Subscribe to Brendan's Roadmap
Updates<http://www.google.com/reader/view/feed%2Fhttp%3A%2F%2Fweblogs.mozillazine.org%2Froadmap%2Findex.rdf?source=email>using
   *Google Reader*
   - Get started using Google
Reader<http://www.google.com/reader/?source=email>to easily keep up
with
   *all your favorite sites*
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the PRL mailing list