Share via


What I think about ES4.

Dean Edwards asked me
in a comment on the IEBlog what I personally thought of the ES4 proposal. ( 'You say
that "Microsoft" think that the web is best served by the creation of
a new language. Your name is at the bottom of this article. What do *you*
think?'
- I'll let the FUD comment bounce off.  Damned if we do, damned if
we don't say anything.)  Consider the rest of this post to be only my
opinion, because I haven't even run it by the other people on the team.

In a way, I'd say it's somewhat immaterial
what I personally think, because I am not and have never claimed to be a
programming languages expert. Yes, I used to be a developer; but just because I
know how to drive a car doesn't qualify me to design one.

On the other hand, I DO know what
principles I would place on a new car, and how I would prioritize them (off the
top of my head for my primary car: safety, emissions, fuel economy, handling, passenger comfort,
cargo space, acceleration) to a qualified car designer.  I've spent a lot of time
over the past year with a few people at Microsoft who DO know a thing or two
about language design, including those who participate on the ECMA TG-1
committee.

*I* think there are two approachs to take to moving
the state of "programming language for the web" forward.  One of
them is to evolve Javascript in place (pardon me for collapsing ECMAScript,
JavaScript, JScript et al together; it's just easier, and one cup of coffee is
not enough for me to be prepared to play semantic games).  That requires
one set of principles - ensuring stability of the ecosystem as it is today
should take priority, furthering the interoperability of implementations (which
is a problem today), enhancing performance and security, and then cool new
language functionality.  Those are the priorities I think should be placed
on evolving Javascript.

As I understand it, on the other hand, the ES4
proposal introduces a lot of new language functionality that essentially
changes the character of the language.  I don't personally have a problem
with that language as a language - but I think grafting that
different-in-character-language together with a compatible-and-performant
implementation of the Javascript of today is both super-hard (if even possible)
to get right, and is ignoring the bigger problems of language-for-web, namely
interoperating with all the script that is out there.  (I'd also take on
other challenges first if I were redesigning Javascript - e.g. domain-aware
security as a language tenet.  That's Monday-morning quarterbacking the
ES4 design as a new language proposal though.)

My point is that it's a fallacy to think that you're evolving
Javascript if your expectation is that the scripts will have a different type
param, and be handled by a separate runtime (i.e. the ScreamingMonkey approach).  That doesn't
seem like it will have good interop to me, at least not in a world where
mashups and separate code components from disparate places (all of which are
some variant of ES3 today) are the norm. 

Sadly, this seems to be turning into an
"ES4: yes or no" battle.  That's unfortunate, because I don't
think anyone should settle into the trenches, and I don't think the other Microsoft guys ever intended to say "everything about ES4 is bad".  It's been pointed out that we haven't made an alternate proposal - well, I'd kinda hoped we could work it out together.  "Open to input"
should be the way of the web, should it not?  I think it's a shame that
dissenting opinion has been hidden from view, and not publicized; certainly, I
think the Microsoft response hasn't been very audible, but that's partly
because we've been trying to figure out if it's just us - but of course, us
trying to understand what other people think of the proposal in detail has also
generated some apparent conspiracy-theorism.  I also think it's a shame
that the response to any dissent has equated to shouting the dissenters
down.  The string of blog posts over the last week, and the immediate and
somewhat incendiary comments from ES4 proponents, has been a good
example of that.

Hey, everyone can have an opinion.

Comments

  • Anonymous
    October 31, 2007
    PingBack from http://www.arcanology.com/2007/10/31/ecmascript-and-internet-explorer/

  • Anonymous
    October 31, 2007
    Hi Chris, I've merely lurked on the ES4-discuss list for a year or so, and to be honest a lot of the technical debate is beyond my comprehension. I'll comment anyway.. Nice list of priorities!

  • ensuring stability of the ecosystem as it is today Check - ES4 script engines should be nearly 100% backwards compatible with the ES3 spec, and some of the deviations are due to compatibility fixes that un-breaks the web :)

  • furthering the interoperability of implementations Check. The ES4-people have done their best with the mentioned compat fixes in the spec, and a reference implementation. I expect there will be some turbulence ahead while browsers get the new bits in place, and I hope the working group will also create a test suite for their spec. That said, implementing the spec should many many browsers MORE compliant with existing content, and if early adopters of ES4 find that the new functionality isn't cross-browser compatible yet then, tough, but many UA vendors release upgrades quite frequently these days.. ;)

  • enhancing performance and security See Brendan Eich discuss how certain ES4 features help security-wise: https://mail.mozilla.org/pipermail/es4-discuss/2007-October/001415.html (please excuse him for any anti-"anit-ES4-people" comments that might occur..) On performance we'll have to wait and see but when you consider how some people in the working group have written ES3 engines for embedded systems I think performance will be taken care of.

  • and then cool new language functionality Cool is subjective. I don't really know yet how it will feel to write ES4 code, I didn't try so far - but I look forward to it.

  • Anonymous
    October 31, 2007
    Glad to see you posting again! I agree that there is much to discuss for ES4, and whether it is the right thing to do, and to what extent. I think what causes such a ruckus, was that it was posted to the IE Blog.  Which historically (at least for the last 12 months), has not addressed any of the concerns of the readers of the blog. As mentioned in many of the comments, the lack of discussion as to what is, or isn't going on with IE development these days scares the living daylights out of us, when a post like this is made. It gets read as: "We've been really quiet, because we're actually planning to go in a different direction than the standards approach that you're all hoping we will" I think (as does everyone else I've read or talked to) that the IE Blog is in desperate need of a "Where are we" post. The silence does a huge disservice to everyone reading it.  We are all working towards a common goal, building great software... but when the "core" platform that we are building our software on top of, goes into "Silent Running", it is EXTREMELY concerting. Please tell whomever on the team is doing the next post, to state where things are at in terms of development.

  • Anonymous
    October 31, 2007
    Shouldn't your points be proved before preparing a new language? Have you not got the resources at MS to hook up the ES4 refererence implementation and prove these points? Or have you and you're not sharing. Would Microsoft be kind enough to share their findings if they have? There has been no mention of this in either of your posts; would it be prudent to say you are basing this on 'feeling' rather than 'fact'?

  • Anonymous
    October 31, 2007
    @Rick  thanks, that's a good point. @JonBreen how would you suggest "hook[ing] up the ES4 reference implementation and prov[ing] these points?"  The ES4 reference implementation is very slow and incomplete.  This is a principles and ecosystem issue; as in, "we believe different principles should drive the language design" and "we believe this will not evolve well in the ecosystem, and will be divisive." This is not a "feeling" - if you like, consider it an "opinion", of merit in principle on par with the other "opinions" of principles that designed the current ES4 proposal.

  • Anonymous
    October 31, 2007
    The comment has been removed

  • Anonymous
    October 31, 2007
    "It's been pointed out that we haven't made an alternate proposal - well, I'd kinda hoped we could work it out together.  "Open to input" should be the way of the web, should it not?" My understanding is that the proponents of the es4 draft are more than happy to work things out in the open. Looking through the es4 discussion and the blogs it seems that you're not being 'shouted down'. Rather those not happy about es4 have been quiet about the technical reasons and haven't started a discussion on things to change, etc. Instead they've raised vague comments in open forums about not liking the new proposal. Please get your people involved in the es4 discussion list and help resolve what they see as issues in the proposal. In the open. Like you suggest.

  • Anonymous
    October 31, 2007
    Hey Chris, I'm, again, not going to weigh in pro/con on ES4 (it's not productive and far too charged right now), but I do want to take up where you're leaving off. You mention that "ensuring stability of the ecosystem as it is today should take priority". I assume that means that Microsoft's "ES 3.1" proposal is the preferred path forward for IE, which arguing from your point of view seems all well and good. What's not well or good is that fundamental concerns about the capability and future JScript remain wholly unanswered. No matter what you think about ES4, the lack of communication and, quite frankly, effort on the JScript 5.x front leave a sour taste in the mouth of web developers and framework authors. Instead of fixing JScript 5.x, the JScript team (or their doppelgängers in other teams) have produced new fewer than two from-scratch, backwards compatible re-implementations of ES3. JScript.NET (a hacky, one-off language that never the less supports many critical, missing features from JScript 5.x) and JScript for the DLR simply cannot share DNA with the WSH version of JScript. Given the obvious effort being poured into this language by Microsoft, why won't the JScript team publicly and openly declare their plans WRT the WSH JScript interpreter? Any improvements need to include Mozilla's "JavaScript 1.6" and "JavaScript 1.7" extensions as well as performance and critical bug fixes. That's not a lot to ask. Particularly when compared with writing an entirely new engine (or two). As the monopoly incumbent Microsoft owes it to the community which is wholly under its thumb to provide clear, timely, and accurate guidance with regards to its intentions or a full explanation of why it will not commit to addressing these show-stopping issues on any version of JScript for WSH. Regards

  • Anonymous
    October 31, 2007
    @Alex Russell - our JScript team works on JScript.dll, not JScript.NET or the JScript for the DLR.  You should expect their major body of work will appear in the next version of Internet Explorer.

  • Anonymous
    October 31, 2007
    Chris, First, thanks for posting again on your blog and the IE blog!  This is always welcome. Would it not be possible to handle ES4 as a completely new language?  Maybe the implementation would have a different performance signature than old JScript, but it could be usable and match closely enough what is implemented by other browsers to get good interoperability (even if it is not backward compatible enough)?  In this case, what about switching the javascript engine depending on the same opt-in you plan to use for the layout engine? Would this be workable, or am I missing part of the difficulties you see?

  • Anonymous
    October 31, 2007
    The comment has been removed

  • Anonymous
    October 31, 2007
    The comment has been removed

  • Anonymous
    October 31, 2007
    @Alex Russell and Chris, I’m jumping in here because you mentioned “3.1” and Chris doesn’t have the same level ECMA TC39-TG1 involvement that I do so perhaps I can better clarify some things. At the beginning of this year I was asked to essentially audit Microsoft’s positioning and level of participation in the ongoing ECMAScript standardization processes.  Out of this emerged a set of concerns about the ES4 effort’s potential for negative impacts upon the entire web ecosystem.  Chris in his original post here essentially summarized those concerns.  At the March TC39-TG1 meeting we floated a proposal to split TG1 into two distinct efforts, one to incrementally evolve ES3 while maintaining strict backwards compatibility and one to work on a substantially new language (essentially the current ES4 with relaxed backwards compatibility constraints).  I believe  that in this proposal we suggested that JS 1.7 functionality would be a reasonable starting point for the first effort.   This overall proposal was not particularly well received  by the TG1 participants who were already committed to the current ES4 direction.  However, there was agreement that interested participants (mostly Microsoft and Yahoo!) could work on a maintenance proposal for ES3.  At the meeting this effort was given the informal “ES3.1” designation. The so called “ES3.1 proposal” was a first draft that emerged over the next couple months.  It was intended to simply be a starting point for discussions. Since then, we have continued to work in this direction.  The “JScript Deviations” document that started this discussion was created as an input into the process.  We think that a detailed understanding of the current level of conformance by various implementation is a necessary precursor to any major standards revision.   Our overall progress has been slower than I might have hoped for.  There are not a lot of organizations that actually participate in TC39-TG1, I believe that up to this month of this year there have been only 5 organizations that have been consistently attending meetings. Other than Microsoft and Yahoo! the other all seem firmly committed to the development of ES4 and have shown little interest in actively participating in “ES3.1” or any effort not directly related to the development of “ES4”. (some may argue with that last statement, but it’s my real perception) This is just to provide a little background and to make it clear that Microsoft is and has been open to consider standardization of ES3 extensions comparable in scope to JS 1.7 Allen Wirfs-Brock Microsoft

  • Anonymous
    October 31, 2007
    @Jason: You suggest that static typing is a "performance feature". It's not. If you ask Brendan he'll be the first to tell you that typing in ES4 is about safety and structure and not speed. Major speed gains are possible w/ ES3, but they require a different approach WRT interpreters. As for the proposed ES3 back-compat changes in ES4, some are trivial, some aren't as trivial, but all are useful. As for ES4's useful features, I'm afraid it's not "done" yet. Interfaces (as written) aren't useful for Open Web code, and keywords like "final" are probably a mistake. Regards

  • Anonymous
    October 31, 2007
    :) Someone @ MS asking me how to do something technical :)

  • Anonymous
    October 31, 2007
    @Alex: Static typing will also allow compiler based unboxing, will it not? That would lead to increased performance along with safety.

  • Anonymous
    October 31, 2007
    Can someone give me one 'thing' that can't be done in ES3 that can in ES4?  I'm not talking about making things easier.  I'm talking about actually producing something different, like XMLHTTP gave us (of course, this could be done with IFrames). Until then, I think the millions of 'average' programmers would rather just have the bugs worked out.

  • Anonymous
    November 01, 2007
    Chris, I feel for you man! Joining a conversation late is painful. I have done the same thing - walking into a meeting an hour late. I would ask a question and they would say, "we just talked about that." If I had anything to add it was too late. If you ask 2 or 3 questions like that they tell you to shut-up and read the minutes later. You do have one advantage though, you can read through most of the conversation so far and catch up. It is just going to take a serious commitment of time. Once you are current you still have time to make specific recommendations, but it is, unfortunately, too late to change the process. Sometimes you have to play the cards you are dealt or change games. As some one that is stuck in the middle (developing for multiple browsers on multiple platforms) I really hope that you will take the time to work with this rather difficult process and even more difficult people. I realize this is not going to be pleasant but please, for the sake of web developers for years to come, please work with-in the existing structure trying to make it better when possible and honoring the decisions made.

  • Anonymous
    November 01, 2007
    The comment has been removed

  • Anonymous
    November 01, 2007
    @Alex: It's a relief to talk about actual technical issues in the spec.  These are good comments.  Bring them over to the es4-discuss mailing list, please. You're totally right about how Brendan Eich sees static typing, of course--untyped code could and should run just as fast.  Myself... well, let's just say I have a lot to learn in this area. I think I see where you're coming from on "final".  But what's wrong with "interface"?

  • Anonymous
    November 01, 2007
    Chris, According to TG1 meeting notes from June/July 2006, Microsoft was planning on implementing ES4 post IE7.  From there until March of 2007, it looks to me like Microsoft was fully complicit with the ongoing design. see: http://wiki.ecmascript.org/doku.php?id=meetings:minutes_jun_28_2006 http://wiki.ecmascript.org/doku.php?id=meetings:minutes_jul_27_2006 Perhaps you could address why Microsoft's stance has changed in specific, technical details?  Clearly ES4 was acceptable and appealing at one point.  Why the change of heart?  And why weren't reservations about ES4 brough to TG1 sooner? With regard to your "open to input" comment (grrr...that's what TG1 and the ES4 mailing list are for, my friend), here's some specific, narrowly defined input for you:  Stick to your original plan!  Accept ES4 and implement it!  It's a well-engineered proposal.  Its adoption would further each of the goals you mention (stability, interoperability, security, features). You'll be doing yourself and your customers a big disservice by not adopting it.  That's my opinion.

  • Anonymous
    November 01, 2007
    The comment has been removed

  • Anonymous
    November 01, 2007
    @Garrett Smith: I'm not sure what to make of your use cases, as they seem to be feature requests rather than principles for scoping a new language, and as I already said, I'm not a language designer. Yes, in my opinion the current ES4 proposal (and plan for deployment) causes interoperability issues on the web, as the mashup development pattern would require interoperation of current ES3 scripts as well as supposed new ES4 scripts.  With the ScreamingMonkey plan, this clearly won't work well - as they'll be run in different runtimes - but even without it I expressed my skepticism that ES3 scripts won't suffer if run through an ES4 engine. If you wish to discuss that on the ES4 list, be my guest.  I never suggested halting progress; I did suggest some caution to make sure the end result, as it would actually be deployed, is actually progress for the web at large. I'm not sure what you would have us do differently WRT deployment; I'm certainly interested in moving users from IE6 to IE7 (and future versions) as quickly as possible.  What exactly have you heard from other vendors (other than the Mozilla/Adobe agreement) about their support for ES4?

  • Anonymous
    November 01, 2007
    The comment has been removed

  • Anonymous
    November 01, 2007
    What interoperability issues will it cause on the web, specifically? That interoperation of ES3 and ES4 script has been the exact motivation for a huge part of the ES4 design work; if you see bugs in the design that will lead to interop or compatibility pain, please PLEASE elaborate on them on the es4-discuss list, where people are standing by to work through and resolve them.  (Or raise them in detail in the TG1 calls or meetings, if you'd prefer, though I think you'll find that the es4-discuss crowd will give you quite a satisfactory response, and likely much faster.) Thanks, Mike

  • Anonymous
    November 01, 2007
    @Mike Shaver, see above.

  • Anonymous
    November 01, 2007
    Chris, As a .Net developer, I was excited to learn that Microsoft was joining the <a href="http://OpenAjax .Com">Alliance</a>, but now it seems that your message is taking a step back from that.  Is that a separate department? Or did Microsoft just join in order to try to control it?

  • Anonymous
    November 01, 2007
    Chris, As a .Net developer, I was excited to learn that Microsoft was joining the <a href="http://OpenAjax.Com">Alliance</a>, but now it seems that your message is taking a step back from that.  Is that a separate department? Or did Microsoft just join in order to try to control it?

  • Anonymous
    November 01, 2007
    Chris: I'm not sure what you meant by "see above"; it was in response to your preceding comment about incompatibilities that I wrote my comment, as I very much want to understand what specific incompatibilities you're concerned about, such that the design can be improved as needed to repair them.

  • Anonymous
    November 01, 2007
    There's been some rumblings lately in the usual quarters about the current proposal for ECMAScript 4th Edition, aka "ES4." For what it's worth, here's my two cents. When I first heard about what Mozilla calls JavaScript 2.0, it was in...

  • Anonymous
    November 02, 2007
    @Mike Shaver - "as the mashup development pattern would require interoperation of current ES3 scripts as well as supposed new ES4 scripts.  With the ScreamingMonkey plan, this clearly won't work well - as they'll be run in different runtimes - but even without it I expressed my skepticism that ES3 scripts won't suffer if run through an ES4 engine."

  • Anonymous
    November 02, 2007
    Brendan Eich is correct here.  He is dedicated to an open, standards based web experience... an ideology well served.  You Mr. Wilson, have to balance serving Microsoft's best interests with the interests of an open, standards based web.  As a result, you're decisions and opinions generally skew towards the proprietary... something that is not compatible with the philosophies and practices on which the web was built.

  • Anonymous
    November 02, 2007
    Jason already pointed out that the "mashup development pattern" problem is an artifact of Microsoft's refusal to implement ES4. But there probably won't be a problem anyway, since the cornerstone of such a design (which is insecure in all ES3 implementations, including IE7) is isolated channels a la Google Gears. Since the messages should be self-describing and resemble JSON for security reasons, passing them among different script runtimes is not a dealbreaker. On this point, Doug Crockford is completely right. "I expressed my skepticism that ES3 scripts won't suffer if run through an ES4 engine." So unsubstantiated FUD, basically? I'll take this opportunity to point out that ES3 scripts do suffer when run through Microsoft's badly buggy ES3 engine. For example, see the GMail team's experience with the incompetent JScript garbage collector. http://blog.youngpup.net/2007/10/new-gmail-infrastructure-launches.html

  • Anonymous
    November 02, 2007
    @Dean: I, too, though you obviously don't realize it, am dedicated to an open, standards based web experience.  I am not dedicated to any particular ideology, mind you; I just think they make good economic sense. Stating that my personal decisions and opinions skew toward the proprietary is so laughable that I needed to put down my coffee.  You clearly don't know me, and are painting me personally with a stereotypic Microsoft brush.  I'm not upset, you understand; more amused.  Perhaps you'd like to talk to any of my current or past coworkers or managers, and ask them if they think I skew toward the proprietary. @Robert Sayre - I failed to see where Jason pointed out ANY such thing - can you point me to this?  The mashup development pattern problem is not an artifact of Microsoft's supposed "refusal to implement ES4" - it is an artifact of using a different MIME type and the approach that says plugging in a different runtime engine will be workable.  We didn't raise that solution. Please don't refer to my personal opinions as unsubstantiated FUD.  I was asked for my personal opinion; I gave it.  I am open to both new input and being proved wrong; the same does not apparently go for everyone participating in this "discussion".

  • Anonymous
    November 02, 2007
    The comment has been removed

  • Anonymous
    November 02, 2007
    To Chris's defense, I don't think he stated anywhere that Microsoft wasn't going to implement ES4.  Am I wrong on this?

  • Anonymous
    November 02, 2007
    Shouldn't MS be more worried about supporting the current ES standard?

  • Anonymous
    November 02, 2007
    What's FUD?

  • Anonymous
    November 02, 2007
    JavaScript is OLD and we are starting to use it in ways that were unanticipated. I have written a LOT of JavaScript code but I am not afraid of dumping it for something better. Some people need to give Microsoft more credit for wanting to innovate. I think "upgrading" JavaScript is a wasted effort. The industry's effort would be better spent designing a language to make web programming easier and more maintainable. We need to let go of all those design flaws that are crippling it now (no type-safety, inheritance, etc.). Getting browsers to comply with ES4 or a new language will take about the same amount of time. I say we leave JavaScript as it is and provide a path to providing a new industry/standard-supported language that better meets the needs of tomorrow's web application.

  • Anonymous
    November 02, 2007
    Coming from the company that epitomizes "Embrace, extend, extinguish", it's amazing you have the nerve to claim you're "Open to input".

  • Anonymous
    November 02, 2007
    As I've been reading on this topic, and I am by no means a writer of languages, I can't help but recall the frustrations I had with web site development during the Netscape Communicator 4.X era, when every slightly new version of the browser contained a new (and often different) implementation of JavaScript. There were endless hours of frustration and time wasted with version-specific scripts and browser detection. It's been a joy to have a (reasonably) stable scripting platform for a few years now, despite subtle differences in the DOM implementations in IE and FF. I think that any move that leads back to those days is just that, a step backwards.

  • Anonymous
    November 02, 2007
    Philip, I look forward to Microsoft's open and non-proprietary creation of something newer and better than ES3 that is open to all. Until then, unfortunately, the rest of the industry has to move on and do something. ES4 seems to be one of the things that is being done. Personally, I don't want to wait another two or three years to see what Microsoft proposed alternative is and then hope it fills the needs of, among other things, its competitors. Chris, The "Open to Input" didn't come from a company. I don't see a "Mr. Microsoft" here. It came from Chris Wilson. Hyperbole won't really serve well here. Having been told to shut up, alongside Chris, during IE5 days when we both were publicly speaking about better standards support, I can attest that Chris isn't overly inclined to see a non-standards solution to things. That doesn't mean his boss, his boss' boss, or his company isn't though, given a choice.

  • Anonymous
    November 02, 2007
    The comment has been removed

  • Anonymous
    November 02, 2007
    I would truly love to read an analysis of what changes within EC4 will bring to the end-user, from the 'eyes' of the millions of people who launch a browser every day.

  • Anonymous
    November 02, 2007
    @Phillip: Why does a web developer need to learn a new language just because MS having issue to incorporate changes in their JS interpreter?  we already have so many frameworks around, we can't afford another language in our pocket.

  • Anonymous
    November 02, 2007
    The comment has been removed

  • Anonymous
    November 02, 2007
    <i>@Robert Sayre - I failed to see where Jason pointed out ANY such thing - can you point me to this?</i> Did Microsoft know that you were incapable of communicating and reading at your interview? <i>it is an artifact of using a different MIME type and the approach that says plugging in a different runtime engine will be workable.  We didn't raise that solution.</i> Would it be possible to phrase this in English, because it doesn't actually mean anything? <i>Please don't refer to my personal opinions as unsubstantiated FUD.  I was asked for my personal opinion; I gave it.  I am open to both new input and being proved wrong; the same does not apparently go for everyone participating in this "discussion".</i> Ahhhhhh. I believe that you were talking about shouting people down and dissenters above? Without specific examples and engaging in a manner where these specific problems can be identified, by you, what you've written is utterly meaningless. I think I read that in a manual somewhere. Sadly, this well worked approach in accusing the very people you're having a go at of the same behaviour you're exhibiting, whilst saying nothing at all, is a very familiar concept to a lot of people now ;-).

  • Anonymous
    November 02, 2007
    The comment has been removed

  • Anonymous
    November 02, 2007
    @above...bingo.

  • Anonymous
    November 03, 2007
    The comment has been removed

  • Anonymous
    November 03, 2007
    Seriously? You guys worked so hard to convince us that THIS time, you were really pro-standards, only to burn us AGAIN? What if every browser decided to go off on their own and decide not to implement a standard because the project lead decided that an update "changes the character of the language"? I'm sure that the specs aren't perfect, but the web is agreement, not a cathedral. Expect some questions at MIX08.

  • Anonymous
    November 03, 2007
    The comment has been removed

  • Anonymous
    November 04, 2007
    Hello Chris, > "as the mashup development pattern would require interoperation of > current ES3 scripts as well as supposed new ES4 scripts.  With the > ScreamingMonkey plan, this clearly won't work well - as they'll be > run in different runtimes - but even without it I expressed my > skepticism that ES3 scripts won't suffer if run through an ES4 > engine."" Since ES4 is backwards-compatible with ES3, wouldn't ScreamingMonkey be handling all scripting in the browser? I don't understand why ES4 would run inside ScreamingMonkey and ES3 would need to run inside IE. ES3 can also run inside ScreamingMonkey. Can you please explain "but even without it I expressed my skepticism that ES3 scripts won't suffer if run through an ES4 engine."? What do you mean by "suffer"? Thanks! Swaroop

  • Anonymous
    November 04, 2007
    we should ignore IE and help people to use better browsers. MS will never understand.

  • Anonymous
    November 04, 2007
    Make JavaScript more powerful won't be compatible with long term Microsoft strategy. Personally I believe that's one of the major concerns from MS. As to what I heard, old style javascript should still run without any modification. And there is a ML implementation available now... I don't know if it is possible to borrow some code there and merge with JScript code base?

  • Anonymous
    November 05, 2007
    I hope that someday we can have just one javascript, i hate the "diferent" jscript and  very buggy. I think if it is a new languaje you is better for ms because ms never was capable to solve all the memory leaks of the old one

  • Anonymous
    November 05, 2007
    The comment has been removed

  • Anonymous
    November 05, 2007
    The comment has been removed

  • Anonymous
    November 15, 2007
    99% of the JScript is identical to the ES3 spec, and ES4 spec is fully compatible with es3. Maybe microsoft does not want to see the JS to invole so quickly, because they have WPF and the SilverLight, if JS involves so quickly, no one will use SliverLight (futher will based on c# and other .net language) anymore, maybe that is the their concerns.

  • Anonymous
    November 21, 2007
    The comment has been removed

  • Anonymous
    November 22, 2007
    The comment has been removed

  • Anonymous
    January 10, 2008
    we should ignore IE and help people to use better browsers. MS will never understand.

  • Anonymous
    January 20, 2008
    My understanding is that the proponents of the es4 draft are more than happy to work things out in the open. Looking through the es4 discussion and the blogs it seems that you're not being 'shouted down'. Rather those not happy about es4 have been quiet about the technical reasons and haven't started a discussion on things to change, etc. Instead they've raised vague comments in open forums about not liking the new proposal.

  • Anonymous
    January 20, 2008
    The comment has been removed

  • Anonymous
    January 20, 2008
    Posting vague claims on your blog, e.g. "That doesn't seem like it will have good interop to me," or "ensuring stability of the ecosystem as it is today should take priority," and providing absolutely no basis or validation for your claims is not unproductive, it's counterproductive. It's clearly getting you a pretty strong negative personal response.

  • Anonymous
    May 14, 2008
    I hope that someday we can have just one javascript, i hate the "diferent" jscript and  very buggy.

  • Anonymous
    June 04, 2008
    I want to chime in with support for Chris Wilson - not MS, just Chris, and his reaction to ES4. I've designed languages, and written compilers and interpreters, and ES4 fills me with repugnance. The implied claim of many posters here that programming language design can be made rational and systematic is itself illogical and contra-factual. It's a bolshevik fallacy: Get a group of smart domain experts together and they can solve any problem, including leading the masses into a glorious future.  Since every programmer feels like a smart expert in some domain, this idea has seductive appeal. "Oooh, if I was on the committee, I know what I'd add!" But when a committee undertakes leadership, you get the Committte for Public Safety. You get language design with the intellectual integrity of legislation because it's produced by the same process: Pork, horse trading, opaque bits contributed by lobbyists - A chimera, a Frankenstein's monster of stolen parts with a disturbing smell clinging to them.  ES4 is as much a new language as C++ was, and language design is a fundamentally creative - forgive me, an artistic endeavor. Discard intuition and judgment, wisdom and restraint, and you discard the vital core of the process. When committees try it, they give birth to monsters.  ES4 is our decade's PL/I. Or Algol 68. Or Ada. Or Common Lisp.

  • Anonymous
    June 15, 2008
    The comment has been removed

  • Anonymous
    August 25, 2008
    The comment has been removed

  • Anonymous
    October 06, 2008
    hello, thanks you for this articles i read all article to your web site i like your site, thank you friend

  • Anonymous
    October 06, 2008
    hello, thanks you for this articles i read all article to your web site i like your site, thank you friend

  • Anonymous
    October 21, 2008
    Almost one year passed and we're still waiting for a sensible response to Garret Smith's comment. Oh well...

  • Anonymous
    January 07, 2009
    The comment has been removed

  • Anonymous
    January 07, 2009
    Posting vague claims on your blog, e.g. "That doesn't seem like it will have good interop to me," or "ensuring stability of the ecosystem as it is today should take priority," and providing absolutely no basis or validation for your claims is not unproductive, it's counterproductive. It's clearly getting you a pretty strong negative personal response.

  • Anonymous
    February 04, 2009
    I don't understand why ES4 would run inside ScreamingMonkey and ES3

  • Anonymous
    April 05, 2009
    My understanding is that the proponents of the es4 draft are more than happy to work things out in the open. Looking through the es4 discussion and the blogs it seems that you're not being 'shouted down'. Rather those not happy about es4 have been quiet about the technical reasons and haven't started a discussion on things to change, etc. Instead they've raised vague comments in open forums about not liking the new proposal.

  • Anonymous
    April 18, 2009
    I hope that someday we can have just one javascript, i hate the "diferent" jscript and  very buggy. I think if it is a new languaje you is better for ms because ms never was capable to solve all the memory leaks of the old one.. Thank This Post.

  • Anonymous
    May 16, 2009
    It's been pointed out that we haven't made an alternate proposal - well, I'd kinda hoped we could work it out together.  "Open to input" should be the way of the web, should it not?" My understanding is that the proponents of the es4 draft are more than happy to work things out in the open. Looking through the es4 discussion and the blogs it seems that you're not being 'shouted down'. Rather those not happy about es4 have been quiet about the technical reasons and haven't started a discussion on things to change, etc. Instead they've raised vague comments in open forums about not liking the new proposal. Please get your people involved in the es4 discussion list and help resolve what they see as issues in the proposal. In the open. Like you suggest.

  • Anonymous
    June 12, 2009
    I don't understand why ES4 would run inside ScreamingMonkey and ES3

  • Anonymous
    June 26, 2009
    I don't understand why ES4 would run inside ScreamingMonkey and ES3

  • Anonymous
    July 04, 2009
    I want to chime in with support for Chris Wilson - not MS, just Chris, and his reaction to ES4. I've designed languages, and written compilers and interpreters, and ES4 fills me with repugnance. The implied claim of many posters here that programming language design can be made rational and systematic is itself illogical and contra-factual. It's a bolshevik fallacy: Get a group of smart domain experts together and they can solve any problem, including leading the masses into a glorious future.  Since every programmer feels like a smart expert in some domain, this idea has seductive appeal. "Oooh, if I was on the committee, I know what I'd add!" But when a committee undertakes leadership, you get the Committte for Public Safety. You get language design with the intellectual integrity of legislation because it's produced by the same process: Pork, horse trading, opaque bits contributed by lobbyists - A chimera, a Frankenstein's monster of stolen parts with a disturbing smell clinging to them.  ES4 is as much a new language as C++ was, and language design is a fundamentally creative - forgive me, an artistic endeavor. Discard intuition and judgment, wisdom and restraint, and you discard the vital core of the process. When committees try it, they give birth to monsters.  ES4 is our decade's PL/I. Or Algol 68. Or Ada. Or Common Lisp.

  • Anonymous
    July 07, 2009
    Looks very interesting. Thanks for sharing.. http://www.mpos.net/s/p4.asp http://www.mpos.net/s/p1.asp

  • Anonymous
    July 17, 2009
    Very good, congratulations article

  • Anonymous
    July 18, 2009
    I am grateful to you for this great content.

  • Anonymous
    July 19, 2009
    been pointed out that we haven't made an alternate proposal - well, I'd kinda hoped we could work it out together.  "Open to input" should be the way of the web, should it not?" My understanding is that the proponents of the es4 draft are more than happy to work things out in the open. Looking through the es4 discussion and the blogs it seems that you're not being 'shouted down'. Rather those not happy about es4 have been quiet about the technical reasons and haven't started a discussion on things to change, etc. Instead they've raised vague comments in open forums about not liking the new proposal. Please get your people involved in the es4 discussion list and help resolve what they see as issues in the proposal. In the open. Like you suggest.

  • Anonymous
    July 21, 2009
    I am grateful to you for this great content.

  • Anonymous
    July 21, 2009
    I want to chime in with support for Chris Wilson - not MS, just Chris, and his reaction to ES4. I've designed languages, and written compilers and interpreters, and ES4 fills me with repugnance.

  • Anonymous
    July 23, 2009
    I don't understand why ES4 would run inside ScreamingMonkey and ES3

  • Anonymous
    August 17, 2009
    I don't understand why ES4 would run inside ScreamingMonkey and ES3

  • Anonymous
    November 04, 2009
    medium ve medyumluk astroloji hakkında bilgi veren güvenilir bir site

  • Anonymous
    December 18, 2009
    buraya birseyler karaliyorum sen bunlari gorme.

  • Anonymous
    January 22, 2010
    Bende senin yaptıgını yapıyorum nedesem yalan olur

  • Anonymous
    January 24, 2010
    guzel bir site imis bu site amina koyyum

  • Anonymous
    March 15, 2010
    medyum memis cenap hoca buyu bozma yontemleri

  • Anonymous
    March 15, 2010
    Your article is still topical, thanks a lot

  • Anonymous
    April 11, 2010
    According to TG1 meeting notes from June/July 2006, Microsoft was planning on implementing ES4 post IE7.  From there until March of 2007, it looks to me like Microsoft was fully complicit with the ongoing design. see: http://wiki.ecmascript.org/doku.php?id=meetings:minutes_jun_28_2006 http://yenimoda.blogspot.com/ Perhaps you could address why Microsoft's stance has changed in specific, technical details?  Clearly ES4 was acceptable and appealing at one point.  Why the change of heart?  And why weren't reservations about ES4 brough to TG1 sooner?

  • Anonymous
    May 05, 2010
    I tested this on my 3.20 GHz Pentium http://www.nantonin.com  HT PC with 2GB RAM and a surprise on the old - 8-year-old woman - 20GB Seagate hard drive that works at http://www.chinese--furniture.com

  • Anonymous
    June 04, 2010
    Since then, we have continued to work in this direction.  The “JScript Deviations” document that started this discussion was created as an input into the process.  We think that a detailed understanding of the current level of conformance by various implementation is a necessary precursor to any major standards revision.   Our overall progress has been slower than I might have hoped for.  There are not a lot of organizations that actually participate in TC39-TG1, I believe that up to this month of this year there have been only 5 organizations that have been consistently attending meetings. Other than Microsoft and Yahoo! the other all seem firmly committed to the development of ES4 and have shown little interest in actively participating in “ES3.1” or any effort not directly related to the development of “ES4”. (some may argue with that last statement, but it’s my real perception)

  • Anonymous
    June 04, 2010
    The comment has been removed

  • Anonymous
    September 10, 2011
    My understanding is that the proponents of the es4 draft are more than happy to work things out in the open. Looking through the es4 discussion and the blogs it seems that you're not being 'shouted down'. Rather those not happy about es4 have been quiet about the technical reasons and haven't started a discussion on things to change, etc. Instead they've raised vague comments in open forums about not liking the new proposal. http://www.medyumoguz.net

  • Anonymous
    November 30, 2015
    Wonderful post. I appreciate your attention to this subject and I learned a good deal. <a href="http://kopen-werkbladen.nl">werkbladen</a>