<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: ECMAScript Edition 5: WebKit JavaScriptCore Progress</title>
	<atom:link href="http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 17 May 2012 07:43:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: eyelidlessness</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-2#comment-278204</link>
		<dc:creator>eyelidlessness</dc:creator>
		<pubDate>Mon, 25 Jan 2010 19:08:32 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278204</guid>
		<description>I&#039;m not really interested in being popular, but I am interested how you think I should &quot;go at it&quot;. I&#039;m not sure what else I can do but express my point and clarify where it&#039;s misunderstood. I&#039;ve tried to steer clear of making it about personality, instead focusing on the substantive facts and context. What am I missing? This is a genuine question.</description>
		<content:encoded><![CDATA[<p>I&#8217;m not really interested in being popular, but I am interested how you think I should &#8220;go at it&#8221;. I&#8217;m not sure what else I can do but express my point and clarify where it&#8217;s misunderstood. I&#8217;ve tried to steer clear of making it about personality, instead focusing on the substantive facts and context. What am I missing? This is a genuine question.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BenGerrissen</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-2#comment-278201</link>
		<dc:creator>BenGerrissen</dc:creator>
		<pubDate>Mon, 25 Jan 2010 17:06:53 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278201</guid>
		<description>Basically, we agree on the main topic and am just going to ignore your nitpicking on whats what wether you&#039;re right or wrong... You&#039;re entitled to your opinions, you&#039;re just not making yourself popular by going at it in this way, but hey, to each his own.
.
Enjoy.</description>
		<content:encoded><![CDATA[<p>Basically, we agree on the main topic and am just going to ignore your nitpicking on whats what wether you&#8217;re right or wrong&#8230; You&#8217;re entitled to your opinions, you&#8217;re just not making yourself popular by going at it in this way, but hey, to each his own.<br />
.<br />
Enjoy.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eyelidlessness</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-2#comment-278199</link>
		<dc:creator>eyelidlessness</dc:creator>
		<pubDate>Mon, 25 Jan 2010 16:15:46 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278199</guid>
		<description>timdown, &lt;blockquote&gt;For what it’s worth now, yes, I think that phrase just stuck out at me and I didn’t read the context correctly.&lt;/blockquote&gt; Thanks! I was wrong about that example though heh.

* * *

BenGerrissen, &lt;blockquote&gt; Make a better premise, because this one is faulty. For one, it did not become part of the standard “retroactively”. &lt;/blockquote&gt; Yes, they did. That is the fundamental part of the logic of calling it &quot;&lt;em&gt;backwards&lt;/em&gt; compatibility&quot; to respect the library&#039;s conventions in the standard. It has to have some point to look &quot;backwards&quot; to in order to be compatible with it.

&lt;blockquote&gt; JSON2 was adapted by ECMA Standards since it was THE standard. JSON.js and JSON2.js also weren’t “favored” libraries, they where THE libraries that provided THE implementation of the functionality everything else are “convenience” libraries.&lt;/blockquote&gt; How did json2.js become the standard? When was it standardized? We&#039;re discussing the ECMA-262 standard, in case you&#039;re not aware. And since json.js and json2.js conflict, how is one favored over the other?

&lt;blockquote&gt; Also consider ‘getElementsBySelector’ and the entire debate on how to name it.&lt;/blockquote&gt; Note first that this is a DOM API, not ECMA-262. Note second that the decision was made to make its naming consistent with the rest of the relevant DOM API, rather than use the naming convention of some favored library as if it had retroactively become part of the standard.

&lt;blockquote&gt;I am also sure that in hindsight, Doug would’ve renamed it as he did with Object.beget, but then JSON2.js was already THE standard.&lt;/blockquote&gt; It didn&#039;t become part of the standard until September 2009. You&#039;re incorrect. You&#039;re abusing the term &quot;standard&quot; to reflect a concept it doesn&#039;t mean in this context. The standard refers to ECMA-262. What you&#039;re discussing is a de facto standard. I accept that de facto standards are a real part of shaping a formal standard, but I don&#039;t accept that by adopting them we are to treat them as targets for &quot;backwards compatibility&quot;. Doing so unnecessarily assigns them a value they don&#039;t have.

&lt;blockquote&gt; Stringify is ok, not perfect, but I can work with it.&lt;/blockquote&gt; Agreed.

* * *

I want to revise a point to Breton that I made earlier too:

&lt;blockquote&gt; json2.js is already widely deployed, and from the start was &lt;strong&gt;setup in a certain way to fall back to some future native version.&lt;/strong&gt;&lt;/blockquote&gt; (Emphasis mine.) This is a basic &quot;best practices&quot; issue. Whenever introducing a new global object or method in Javascript, it&#039;s wise to default to the native version if it exists. json2.js is not special in this respect, and certainly not a predictor of future standards evolution, and certainly not warranted special privileges of influence on this basis.</description>
		<content:encoded><![CDATA[<p>timdown,<br />
<blockquote>For what it’s worth now, yes, I think that phrase just stuck out at me and I didn’t read the context correctly.</p></blockquote>
<p> Thanks! I was wrong about that example though heh.</p>
<p>* * *</p>
<p>BenGerrissen,<br />
<blockquote> Make a better premise, because this one is faulty. For one, it did not become part of the standard “retroactively”. </p></blockquote>
<p> Yes, they did. That is the fundamental part of the logic of calling it &#8220;<em>backwards</em> compatibility&#8221; to respect the library&#8217;s conventions in the standard. It has to have some point to look &#8220;backwards&#8221; to in order to be compatible with it.</p>
<blockquote><p> JSON2 was adapted by ECMA Standards since it was THE standard. JSON.js and JSON2.js also weren’t “favored” libraries, they where THE libraries that provided THE implementation of the functionality everything else are “convenience” libraries.</p></blockquote>
<p> How did json2.js become the standard? When was it standardized? We&#8217;re discussing the ECMA-262 standard, in case you&#8217;re not aware. And since json.js and json2.js conflict, how is one favored over the other?</p>
<blockquote><p> Also consider ‘getElementsBySelector’ and the entire debate on how to name it.</p></blockquote>
<p> Note first that this is a DOM API, not ECMA-262. Note second that the decision was made to make its naming consistent with the rest of the relevant DOM API, rather than use the naming convention of some favored library as if it had retroactively become part of the standard.</p>
<blockquote><p>I am also sure that in hindsight, Doug would’ve renamed it as he did with Object.beget, but then JSON2.js was already THE standard.</p></blockquote>
<p> It didn&#8217;t become part of the standard until September 2009. You&#8217;re incorrect. You&#8217;re abusing the term &#8220;standard&#8221; to reflect a concept it doesn&#8217;t mean in this context. The standard refers to ECMA-262. What you&#8217;re discussing is a de facto standard. I accept that de facto standards are a real part of shaping a formal standard, but I don&#8217;t accept that by adopting them we are to treat them as targets for &#8220;backwards compatibility&#8221;. Doing so unnecessarily assigns them a value they don&#8217;t have.</p>
<blockquote><p> Stringify is ok, not perfect, but I can work with it.</p></blockquote>
<p> Agreed.</p>
<p>* * *</p>
<p>I want to revise a point to Breton that I made earlier too:</p>
<blockquote><p> json2.js is already widely deployed, and from the start was <strong>setup in a certain way to fall back to some future native version.</strong></p></blockquote>
<p> (Emphasis mine.) This is a basic &#8220;best practices&#8221; issue. Whenever introducing a new global object or method in Javascript, it&#8217;s wise to default to the native version if it exists. json2.js is not special in this respect, and certainly not a predictor of future standards evolution, and certainly not warranted special privileges of influence on this basis.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BenGerrissen</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-2#comment-278182</link>
		<dc:creator>BenGerrissen</dc:creator>
		<pubDate>Mon, 25 Jan 2010 12:18:40 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278182</guid>
		<description>&lt;cite&gt;that it is unwise to treat favored libraries as retroactively part of the standard&lt;/cite&gt;
Make a better premise, because this one is faulty. For one, it did not become part of the standard &quot;retroactively&quot;. JSON2 was adapted by ECMA Standards since it was THE standard. JSON.js and JSON2.js also weren&#039;t &quot;favored&quot; libraries, they where THE libraries that provided THE implementation of the functionality everything else are &quot;convenience&quot; libraries.
.
Also consider &#039;getElementsBySelector&#039; and the entire debate on how to name it. I think we saw ~5 versions pass by at one time? An utter waste of time in a language where it&#039;s crackerjack easy to create aliases and convenience wrappers.
.
I am also sure that in hindsight, Doug would&#039;ve renamed it as he did with Object.beget, but then JSON2.js was already THE standard.
.
Stringify is ok, not perfect, but I can work with it.</description>
		<content:encoded><![CDATA[<p><cite>that it is unwise to treat favored libraries as retroactively part of the standard</cite><br />
Make a better premise, because this one is faulty. For one, it did not become part of the standard &#8220;retroactively&#8221;. JSON2 was adapted by ECMA Standards since it was THE standard. JSON.js and JSON2.js also weren&#8217;t &#8220;favored&#8221; libraries, they where THE libraries that provided THE implementation of the functionality everything else are &#8220;convenience&#8221; libraries.<br />
.<br />
Also consider &#8216;getElementsBySelector&#8217; and the entire debate on how to name it. I think we saw ~5 versions pass by at one time? An utter waste of time in a language where it&#8217;s crackerjack easy to create aliases and convenience wrappers.<br />
.<br />
I am also sure that in hindsight, Doug would&#8217;ve renamed it as he did with Object.beget, but then JSON2.js was already THE standard.<br />
.<br />
Stringify is ok, not perfect, but I can work with it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: timdown</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-1#comment-278181</link>
		<dc:creator>timdown</dc:creator>
		<pubDate>Mon, 25 Jan 2010 10:55:28 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278181</guid>
		<description>@eyelidlessness:
Re. your &quot;Did you read my comment, or just scan it for things that didn’t seem right?&quot; For what it&#039;s worth now, yes, I think that phrase just stuck out at me and I didn&#039;t read the context correctly.</description>
		<content:encoded><![CDATA[<p>@eyelidlessness:<br />
Re. your &#8220;Did you read my comment, or just scan it for things that didn’t seem right?&#8221; For what it&#8217;s worth now, yes, I think that phrase just stuck out at me and I didn&#8217;t read the context correctly.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eyelidlessness</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-1#comment-278145</link>
		<dc:creator>eyelidlessness</dc:creator>
		<pubDate>Fri, 22 Jan 2010 15:41:34 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278145</guid>
		<description>Breton, &lt;blockquote&gt; When new browsers that support native json fully replace old browsers that don’t, it would be nice to just simply get rid of json2.js so that users don’t have to download it anymore, and I don’t have to rewrite my whole site.&lt;/blockquote&gt; I think you&#039;ve demonstrated that you&#039;re competent enough to know that you wouldn&#039;t have to rewrite your whole site if the spec&#039;s naming had not been based on json2.js, and also to know that your argument doesn&#039;t hold water for sites using JSON libraries besides json2.js, and also to know that it will be years before you can safely remove json2.js and expect all of your users to be able to use the native functionality. I think it&#039;s you grasping at straws.

If you disagree with my premise—that it is unwise to treat favored libraries as retroactively part of the standard—argue against that point. What you&#039;re arguing here is largely irrelevant and based on emotional appeal that doesn&#039;t stand up to much scrutiny.</description>
		<content:encoded><![CDATA[<p>Breton,<br />
<blockquote> When new browsers that support native json fully replace old browsers that don’t, it would be nice to just simply get rid of json2.js so that users don’t have to download it anymore, and I don’t have to rewrite my whole site.</p></blockquote>
<p> I think you&#8217;ve demonstrated that you&#8217;re competent enough to know that you wouldn&#8217;t have to rewrite your whole site if the spec&#8217;s naming had not been based on json2.js, and also to know that your argument doesn&#8217;t hold water for sites using JSON libraries besides json2.js, and also to know that it will be years before you can safely remove json2.js and expect all of your users to be able to use the native functionality. I think it&#8217;s you grasping at straws.</p>
<p>If you disagree with my premise—that it is unwise to treat favored libraries as retroactively part of the standard—argue against that point. What you&#8217;re arguing here is largely irrelevant and based on emotional appeal that doesn&#8217;t stand up to much scrutiny.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aphrodisiac</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-1#comment-278125</link>
		<dc:creator>Aphrodisiac</dc:creator>
		<pubDate>Fri, 22 Jan 2010 11:39:14 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278125</guid>
		<description>Great i love it!</description>
		<content:encoded><![CDATA[<p>Great i love it!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rasmusfl0e</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-1#comment-278122</link>
		<dc:creator>rasmusfl0e</dc:creator>
		<pubDate>Fri, 22 Jan 2010 10:17:37 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278122</guid>
		<description>@Breton: Thank you for the I-thought-it-was-broken-but-it-apparently-wasn&#039;t-warning, Breton :)</description>
		<content:encoded><![CDATA[<p>@Breton: Thank you for the I-thought-it-was-broken-but-it-apparently-wasn&#8217;t-warning, Breton :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Breton</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-1#comment-278116</link>
		<dc:creator>Breton</dc:creator>
		<pubDate>Fri, 22 Jan 2010 06:49:38 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278116</guid>
		<description>@rasmusfl0e I went to your site, and I thought it was broken in firefox. I was going to warn you about it. But then I realized that your site&#039;s navigation is just confusing and inscrutable. If you have a page saying &quot;This is my work, have a look!&quot;, and all I can see are two squares with diagonal lines through them, I have to tell you it&#039;s damn baffling. I didn&#039;t think to look and see that the navigation was changed. The change was not very obvious- since there&#039;s no visual hierarchy it didn&#039;t seem as though it had changed at all until I happen to look and watch very carefully as I clicked through the site.

@eyelidlessness
When new browsers that support native json fully replace old browsers that don&#039;t, it would be nice to just simply get rid of json2.js so that users don&#039;t have to download it anymore, and I don&#039;t have to rewrite my whole site.</description>
		<content:encoded><![CDATA[<p>@rasmusfl0e I went to your site, and I thought it was broken in firefox. I was going to warn you about it. But then I realized that your site&#8217;s navigation is just confusing and inscrutable. If you have a page saying &#8220;This is my work, have a look!&#8221;, and all I can see are two squares with diagonal lines through them, I have to tell you it&#8217;s damn baffling. I didn&#8217;t think to look and see that the navigation was changed. The change was not very obvious- since there&#8217;s no visual hierarchy it didn&#8217;t seem as though it had changed at all until I happen to look and watch very carefully as I clicked through the site.</p>
<p>@eyelidlessness<br />
When new browsers that support native json fully replace old browsers that don&#8217;t, it would be nice to just simply get rid of json2.js so that users don&#8217;t have to download it anymore, and I don&#8217;t have to rewrite my whole site.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rasmusfl0e</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-1#comment-278113</link>
		<dc:creator>rasmusfl0e</dc:creator>
		<pubDate>Thu, 21 Jan 2010 22:05:18 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278113</guid>
		<description>&quot;How can you be right - when you disagree with me?&quot;</description>
		<content:encoded><![CDATA[<p>&#8220;How can you be right &#8211; when you disagree with me?&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eyelidlessness</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-1#comment-278107</link>
		<dc:creator>eyelidlessness</dc:creator>
		<pubDate>Thu, 21 Jan 2010 16:35:52 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278107</guid>
		<description>Breton,

&lt;blockquote&gt; The array extras were all adopted and compatible with the prototype library.&lt;/blockquote&gt; Let me ask again: was the justification for the naming convention of those methods that they needed to maintain &quot;backwards compatibility&quot; with Prototype? If so, that justification is wrong. If not, I don&#039;t see how it&#039;s relevant.

&lt;blockquote&gt;I think they’ve avoided adding anything to Object.prototype for backwards compatibility.&lt;/blockquote&gt; How do you figure? Adding to Object.prototype can break backwards compatibility &lt;strong&gt;only when adding in Javascript&lt;/strong&gt;, not natively.

&lt;blockquote&gt; Native methods can be made non-enumerable, but I think that there would still be name collisions with existing libraries, frameworks, and scripts that copied the json.js convention.&lt;/blockquote&gt; And if that is meant to justify never adding non-enumerable native methods to Object.prototype, then its logic extends to never adding any semantics to the language whatsoever. The new native JSON object may not break json2.js, but it might break some other library or script. How can they ever know?

&lt;blockquote&gt; json2.js is already widely deployed, and from the start was setup in a certain way to fall back to some future native version. To deviate from that would be to either break any page that uses json2.js, or to ignore the forward compatibility built into the design of json2.js, for reasons of taste, rather than practicality.&lt;/blockquote&gt; Why is json2.js so special? How does ECMA determine which scripts to break and which not to break? This doesn&#039;t make sense to me.

&lt;blockquote&gt; To take advantage of the improved speed of native JSON, you would force everyone to rejig their page to use the native library? to either totally rewrite their scripts, or update to some newer version of json2.js that falls back to what actually got standardised?&lt;/blockquote&gt; If some other naming had been adopted, it would not be hard at all for json2.js to be updated to support it. Nothing else would need to change. Yes, sometimes code needs to be updated when languages change. This is still the case even though json2.js wasn&#039;t broken.

&lt;blockquote&gt;Oh well, nevermind all that. Millions of dollars in maintenance work is totally worth not being pushed around by some library author, right?&lt;/blockquote&gt; I&#039;d say that when ECMAScript changes get implemented, millions of dollars in maintenance work is an inevitability. I think you&#039;re exaggerating the consequences of breaking the single json2.js library, however.

&lt;blockquote&gt; Ah okay, the inspiration is a little bit looser than I thought.
http://www.prototypejs.org/api/enumerable
but still a lot of those methods look pretty similar.

and also
http://www.prototypejs.org/api/array&lt;/blockquote&gt; Only one of the Array extras methods appears (at least by the same name) under Enumerable (and two under Array). Hardly analogous to the claim that &lt;strong&gt;JSON methods must maintain the naming of json2.js for &quot;backwards compatibility&quot; with that library&lt;/strong&gt;.

* * *

V1,

&lt;blockquote&gt; seriously who gives a fuck how its named.&lt;/blockquote&gt; I do. But more importantly, I give a fuck about &lt;strong&gt;why&lt;/strong&gt; it&#039;s named what it&#039;s named.

&lt;blockquote&gt; Stop complaining.&lt;/blockquote&gt; No. Why is it that so many people insist on complaining about people complaining, insisting that those people stop complaining? Is it like... some kind of a competition to see who can be the most hypocritical by saying exactly the same thing? Uphill battle, my friend. If you don&#039;t like my complaints, or the fact that I&#039;m complaining, feel free to ignore me. I will not stop complaining because you don&#039;t like it.

* * *

BenGerrissen,

&lt;blockquote&gt; jQuery breaks standards (which where defined well before jQuery was launched) all over the place (.css() .click() .hover() etc.) and thats OK, since jQuery adds convenience methods which make all our lives a lot easier.&lt;/blockquote&gt; jQuery isn&#039;t &quot;breaking standards&quot; by providing convenience methods. Those standards still work. I don&#039;t see how this is relevant.

&lt;blockquote&gt; JSON.js adds never before seen functionality in JS, it’s THE first library that implemented JSON, it IS THE standard before it was an official standard.&lt;/blockquote&gt; You may be right. But json.js was not the basis of the ES5 JSON standard, json2.js was.

&lt;blockquote&gt; Standards are created on utility thats commonly and widely used and preferably, through methods already know by it’s users. Ergo ‘parse’ and ’stringify’. Before that, there was no JSON or JSON utility.&lt;/blockquote&gt; Parse and stringify did not appear in json.js, which came before json2.js. Your argument is incorrect.

I agree that standards are (or ought to be) created on common-use utility. I don&#039;t think that carries over to naming conventions necessarily, and I certainly don&#039;t think that it&#039;s right for ECMA (or any other standards organization) to treat user code as if it&#039;s retroactively part of the standard—to refer to json2.js or prototype.js or jQuery or any other library as if it is part of the ECMA-262 standard and therefore a source of &quot;backwards compatibility&quot;.

&lt;blockquote&gt; Before jQuery, there already DOM methods for manipulation and jQuery steered away from that to create an abstraction that was muuuuuch easier to use.&lt;/blockquote&gt; And so did Prototype. And Mootools. And a bunch of other libraries. All of which conflict. Which becomes retroactively part of the standard and a target of &quot;backwards compatibility&quot;, and which get broken or neglected?

&lt;blockquote&gt; So your argument is actually the other way around, imagine if ECMA suddenly changed all DOM methods, it would break jQuery.&lt;/blockquote&gt; ECMA doesn&#039;t have any control over the DOM. And changing existing native methods (ECMA-262 or DOM) is not analogous to inventing whole new native objects and methods, which is what was done with JSON.

&lt;blockquote&gt; And THAT’s why the method is called ’stringify’.&lt;/blockquote&gt; How the hell do you figure? There was never a JSON.stringify (or a JSON object) in ECMA-262 before.

&lt;blockquote&gt;Hope I made myself clear enough and that you stop using jQuery (or any other library thats build on standards for that matter) as an example.&lt;/blockquote&gt; You&#039;ve made your argument clear (it was never unclear), but it&#039;s still wrong. And why would I stop using jQuery or any other library? It has nothing to do with this discussion.

&lt;blockquote&gt; prototypejs ported, collected and added a lot to JS we take for granted now&lt;/blockquote&gt; Agreed. And truth be told, I&#039;d probably still prefer Prototype over jQuery if it weren&#039;t for the fact that Prototype has stagnated while jQuery has progressed and become the de facto standard DOM library.</description>
		<content:encoded><![CDATA[<p>Breton,</p>
<blockquote><p> The array extras were all adopted and compatible with the prototype library.</p></blockquote>
<p> Let me ask again: was the justification for the naming convention of those methods that they needed to maintain &#8220;backwards compatibility&#8221; with Prototype? If so, that justification is wrong. If not, I don&#8217;t see how it&#8217;s relevant.</p>
<blockquote><p>I think they’ve avoided adding anything to Object.prototype for backwards compatibility.</p></blockquote>
<p> How do you figure? Adding to Object.prototype can break backwards compatibility <strong>only when adding in Javascript</strong>, not natively.</p>
<blockquote><p> Native methods can be made non-enumerable, but I think that there would still be name collisions with existing libraries, frameworks, and scripts that copied the json.js convention.</p></blockquote>
<p> And if that is meant to justify never adding non-enumerable native methods to Object.prototype, then its logic extends to never adding any semantics to the language whatsoever. The new native JSON object may not break json2.js, but it might break some other library or script. How can they ever know?</p>
<blockquote><p> json2.js is already widely deployed, and from the start was setup in a certain way to fall back to some future native version. To deviate from that would be to either break any page that uses json2.js, or to ignore the forward compatibility built into the design of json2.js, for reasons of taste, rather than practicality.</p></blockquote>
<p> Why is json2.js so special? How does ECMA determine which scripts to break and which not to break? This doesn&#8217;t make sense to me.</p>
<blockquote><p> To take advantage of the improved speed of native JSON, you would force everyone to rejig their page to use the native library? to either totally rewrite their scripts, or update to some newer version of json2.js that falls back to what actually got standardised?</p></blockquote>
<p> If some other naming had been adopted, it would not be hard at all for json2.js to be updated to support it. Nothing else would need to change. Yes, sometimes code needs to be updated when languages change. This is still the case even though json2.js wasn&#8217;t broken.</p>
<blockquote><p>Oh well, nevermind all that. Millions of dollars in maintenance work is totally worth not being pushed around by some library author, right?</p></blockquote>
<p> I&#8217;d say that when ECMAScript changes get implemented, millions of dollars in maintenance work is an inevitability. I think you&#8217;re exaggerating the consequences of breaking the single json2.js library, however.</p>
<blockquote><p> Ah okay, the inspiration is a little bit looser than I thought.<br />
<a href="http://www.prototypejs.org/api/enumerable" rel="nofollow">http://www.prototypejs.org/api/enumerable</a><br />
but still a lot of those methods look pretty similar.</p>
<p>and also<br />
<a href="http://www.prototypejs.org/api/array" rel="nofollow">http://www.prototypejs.org/api/array</a></p></blockquote>
<p> Only one of the Array extras methods appears (at least by the same name) under Enumerable (and two under Array). Hardly analogous to the claim that <strong>JSON methods must maintain the naming of json2.js for &#8220;backwards compatibility&#8221; with that library</strong>.</p>
<p>* * *</p>
<p>V1,</p>
<blockquote><p> seriously who gives a fuck how its named.</p></blockquote>
<p> I do. But more importantly, I give a fuck about <strong>why</strong> it&#8217;s named what it&#8217;s named.</p>
<blockquote><p> Stop complaining.</p></blockquote>
<p> No. Why is it that so many people insist on complaining about people complaining, insisting that those people stop complaining? Is it like&#8230; some kind of a competition to see who can be the most hypocritical by saying exactly the same thing? Uphill battle, my friend. If you don&#8217;t like my complaints, or the fact that I&#8217;m complaining, feel free to ignore me. I will not stop complaining because you don&#8217;t like it.</p>
<p>* * *</p>
<p>BenGerrissen,</p>
<blockquote><p> jQuery breaks standards (which where defined well before jQuery was launched) all over the place (.css() .click() .hover() etc.) and thats OK, since jQuery adds convenience methods which make all our lives a lot easier.</p></blockquote>
<p> jQuery isn&#8217;t &#8220;breaking standards&#8221; by providing convenience methods. Those standards still work. I don&#8217;t see how this is relevant.</p>
<blockquote><p> JSON.js adds never before seen functionality in JS, it’s THE first library that implemented JSON, it IS THE standard before it was an official standard.</p></blockquote>
<p> You may be right. But json.js was not the basis of the ES5 JSON standard, json2.js was.</p>
<blockquote><p> Standards are created on utility thats commonly and widely used and preferably, through methods already know by it’s users. Ergo ‘parse’ and ’stringify’. Before that, there was no JSON or JSON utility.</p></blockquote>
<p> Parse and stringify did not appear in json.js, which came before json2.js. Your argument is incorrect.</p>
<p>I agree that standards are (or ought to be) created on common-use utility. I don&#8217;t think that carries over to naming conventions necessarily, and I certainly don&#8217;t think that it&#8217;s right for ECMA (or any other standards organization) to treat user code as if it&#8217;s retroactively part of the standard—to refer to json2.js or prototype.js or jQuery or any other library as if it is part of the ECMA-262 standard and therefore a source of &#8220;backwards compatibility&#8221;.</p>
<blockquote><p> Before jQuery, there already DOM methods for manipulation and jQuery steered away from that to create an abstraction that was muuuuuch easier to use.</p></blockquote>
<p> And so did Prototype. And Mootools. And a bunch of other libraries. All of which conflict. Which becomes retroactively part of the standard and a target of &#8220;backwards compatibility&#8221;, and which get broken or neglected?</p>
<blockquote><p> So your argument is actually the other way around, imagine if ECMA suddenly changed all DOM methods, it would break jQuery.</p></blockquote>
<p> ECMA doesn&#8217;t have any control over the DOM. And changing existing native methods (ECMA-262 or DOM) is not analogous to inventing whole new native objects and methods, which is what was done with JSON.</p>
<blockquote><p> And THAT’s why the method is called ’stringify’.</p></blockquote>
<p> How the hell do you figure? There was never a JSON.stringify (or a JSON object) in ECMA-262 before.</p>
<blockquote><p>Hope I made myself clear enough and that you stop using jQuery (or any other library thats build on standards for that matter) as an example.</p></blockquote>
<p> You&#8217;ve made your argument clear (it was never unclear), but it&#8217;s still wrong. And why would I stop using jQuery or any other library? It has nothing to do with this discussion.</p>
<blockquote><p> prototypejs ported, collected and added a lot to JS we take for granted now</p></blockquote>
<p> Agreed. And truth be told, I&#8217;d probably still prefer Prototype over jQuery if it weren&#8217;t for the fact that Prototype has stagnated while jQuery has progressed and become the de facto standard DOM library.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BenGerrissen</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-1#comment-278097</link>
		<dc:creator>BenGerrissen</dc:creator>
		<pubDate>Thu, 21 Jan 2010 12:18:15 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278097</guid>
		<description>@breton, prototypejs ported, collected and added a lot to JS we take for granted now ;)</description>
		<content:encoded><![CDATA[<p>@breton, prototypejs ported, collected and added a lot to JS we take for granted now ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Breton</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-1#comment-278095</link>
		<dc:creator>Breton</dc:creator>
		<pubDate>Thu, 21 Jan 2010 11:53:50 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278095</guid>
		<description>and also 
http://www.prototypejs.org/api/array</description>
		<content:encoded><![CDATA[<p>and also<br />
<a href="http://www.prototypejs.org/api/array" rel="nofollow">http://www.prototypejs.org/api/array</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Breton</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-1#comment-278094</link>
		<dc:creator>Breton</dc:creator>
		<pubDate>Thu, 21 Jan 2010 11:51:48 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278094</guid>
		<description>Ah okay, the inspiration is a little bit looser than I thought.

http://www.prototypejs.org/api/enumerable

but still a lot of those methods look pretty similar.</description>
		<content:encoded><![CDATA[<p>Ah okay, the inspiration is a little bit looser than I thought.</p>
<p><a href="http://www.prototypejs.org/api/enumerable" rel="nofollow">http://www.prototypejs.org/api/enumerable</a></p>
<p>but still a lot of those methods look pretty similar.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Breton</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-1#comment-278093</link>
		<dc:creator>Breton</dc:creator>
		<pubDate>Thu, 21 Jan 2010 11:39:49 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278093</guid>
		<description>@igstan no, I was just there as it happened. One day there was a new library, called prototype, and one of the things it had was array extras, and it was neat. Then firefox added the same array extras, so they would work faster. Then a couple other browsers added them. Then they were standardized into ecmascript 5.

I could look into it more deeply if you want real evidence.</description>
		<content:encoded><![CDATA[<p>@igstan no, I was just there as it happened. One day there was a new library, called prototype, and one of the things it had was array extras, and it was neat. Then firefox added the same array extras, so they would work faster. Then a couple other browsers added them. Then they were standardized into ecmascript 5.</p>
<p>I could look into it more deeply if you want real evidence.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BenGerrissen</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-1#comment-278092</link>
		<dc:creator>BenGerrissen</dc:creator>
		<pubDate>Thu, 21 Jan 2010 11:35:32 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278092</guid>
		<description>ECMA or W3C</description>
		<content:encoded><![CDATA[<p>ECMA or W3C</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BenGerrissen</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-1#comment-278091</link>
		<dc:creator>BenGerrissen</dc:creator>
		<pubDate>Thu, 21 Jan 2010 11:34:29 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278091</guid>
		<description>@eyelidlessness, jQuery breaks standards (which where defined well before jQuery was launched) all over the place (.css() .click() .hover() etc.) and thats OK, since jQuery adds convenience methods which make all our lives a lot easier.
.
JSON.js adds never before seen functionality in JS, it&#039;s THE first library that implemented JSON, it IS THE standard before it was an official standard.
.
Standards are created on utility thats commonly and widely used and preferably, through methods already know by it&#039;s users. Ergo &#039;parse&#039;  and &#039;stringify&#039;. Before that, there was no JSON or JSON utility.
.
Before jQuery, there already DOM methods for manipulation and jQuery steered away from that to create an abstraction that was muuuuuch easier to use.
.
So your argument is actually the other way around, imagine if ECMA suddenly changed all DOM methods, it would break jQuery. And THAT&#039;s why the method is called &#039;stringify&#039;.
.
And I still agree, it&#039;s not well named, but THATS the reason it is what it is. NOT the other way around. Hope I made myself clear enough and that you stop using jQuery (or any other library thats build on standards for that matter) as an example.
.
phew.</description>
		<content:encoded><![CDATA[<p>@eyelidlessness, jQuery breaks standards (which where defined well before jQuery was launched) all over the place (.css() .click() .hover() etc.) and thats OK, since jQuery adds convenience methods which make all our lives a lot easier.<br />
.<br />
JSON.js adds never before seen functionality in JS, it&#8217;s THE first library that implemented JSON, it IS THE standard before it was an official standard.<br />
.<br />
Standards are created on utility thats commonly and widely used and preferably, through methods already know by it&#8217;s users. Ergo &#8216;parse&#8217;  and &#8216;stringify&#8217;. Before that, there was no JSON or JSON utility.<br />
.<br />
Before jQuery, there already DOM methods for manipulation and jQuery steered away from that to create an abstraction that was muuuuuch easier to use.<br />
.<br />
So your argument is actually the other way around, imagine if ECMA suddenly changed all DOM methods, it would break jQuery. And THAT&#8217;s why the method is called &#8216;stringify&#8217;.<br />
.<br />
And I still agree, it&#8217;s not well named, but THATS the reason it is what it is. NOT the other way around. Hope I made myself clear enough and that you stop using jQuery (or any other library thats build on standards for that matter) as an example.<br />
.<br />
phew.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: V1</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-1#comment-278090</link>
		<dc:creator>V1</dc:creator>
		<pubDate>Thu, 21 Jan 2010 11:34:17 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278090</guid>
		<description>seriously who gives a fuck how its named. Its works, its there and its native (soon). Stop complaining.</description>
		<content:encoded><![CDATA[<p>seriously who gives a fuck how its named. Its works, its there and its native (soon). Stop complaining.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: igstan</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-1#comment-278089</link>
		<dc:creator>igstan</dc:creator>
		<pubDate>Thu, 21 Jan 2010 10:07:16 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278089</guid>
		<description>&lt;blockquote&gt;The array extras were all adopted and compatible with the prototype library.&lt;/blockquote&gt;

Breton, do you have any reference about that?</description>
		<content:encoded><![CDATA[<blockquote><p>The array extras were all adopted and compatible with the prototype library.</p></blockquote>
<p>Breton, do you have any reference about that?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Breton</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-webkit-javascriptcore-progress/comment-page-1#comment-278084</link>
		<dc:creator>Breton</dc:creator>
		<pubDate>Thu, 21 Jan 2010 05:54:38 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=8459#comment-278084</guid>
		<description>The array extras were all adopted and compatible with the prototype library. 
.
I think they&#039;ve avoided adding anything to Object.prototype for backwards compatibility. json2.js, with the JSON object, exists for a similar but different reason. json.js did exactly as you propose, but methods added to Object.prototype are enumerable on everything that inherits from Object. Native methods can be made non-enumerable, but I think that there would still be name collisions with existing libraries, frameworks, and scripts that copied the json.js convention.

json2.js is already widely deployed, and from the start was setup in a certain way to fall back to some future native version. To deviate from that would be to either break any page that uses json2.js, or to ignore the forward compatibility built into the design of json2.js, for reasons of taste, rather than practicality. To take advantage of the improved speed of native JSON, you would force everyone to rejig their page to use the native library? to either totally rewrite their scripts, or update to some newer version of json2.js that falls back to what actually got standardised?
.
Oh well, nevermind all that. Millions of dollars in maintenance work is totally worth not being pushed around by some library author, right?</description>
		<content:encoded><![CDATA[<p>The array extras were all adopted and compatible with the prototype library.<br />
.<br />
I think they&#8217;ve avoided adding anything to Object.prototype for backwards compatibility. json2.js, with the JSON object, exists for a similar but different reason. json.js did exactly as you propose, but methods added to Object.prototype are enumerable on everything that inherits from Object. Native methods can be made non-enumerable, but I think that there would still be name collisions with existing libraries, frameworks, and scripts that copied the json.js convention.</p>
<p>json2.js is already widely deployed, and from the start was setup in a certain way to fall back to some future native version. To deviate from that would be to either break any page that uses json2.js, or to ignore the forward compatibility built into the design of json2.js, for reasons of taste, rather than practicality. To take advantage of the improved speed of native JSON, you would force everyone to rejig their page to use the native library? to either totally rewrite their scripts, or update to some newer version of json2.js that falls back to what actually got standardised?<br />
.<br />
Oh well, nevermind all that. Millions of dollars in maintenance work is totally worth not being pushed around by some library author, right?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

