<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Albatross! : javascript</title><link>http://blogs.msdn.com/cwilso/archive/tags/javascript/default.aspx</link><description>Tags: javascript</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>What I think about ES4.</title><link>http://blogs.msdn.com/cwilso/archive/2007/10/31/what-i-think-about-es4.aspx</link><pubDate>Wed, 31 Oct 2007 20:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5801280</guid><dc:creator>cwilso</dc:creator><slash:comments>91</slash:comments><comments>http://blogs.msdn.com/cwilso/comments/5801280.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cwilso/commentrss.aspx?PostID=5801280</wfw:commentRss><description>
&lt;p&gt;&lt;a href="http://dean.edwards.name/" mce_href="http://dean.edwards.name/"&gt;Dean Edwards&lt;/a&gt; asked me
in a &lt;a href="http://blogs.msdn.com/ie/archive/2007/10/30/ecmascript-3-and-beyond.aspx#5788577" mce_href="http://blogs.msdn.com/ie/archive/2007/10/30/ecmascript-3-and-beyond.aspx#5788577"&gt;comment on the IEBlog&lt;/a&gt; what I personally thought of the &lt;a href="http://www.ecmascript.org/es4/spec/overview.pdf" mce_href="http://www.ecmascript.org/es4/spec/overview.pdf"&gt;ES4 proposal&lt;/a&gt;. (&lt;i&gt;'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?'&lt;/i&gt; - I'll let the FUD comment bounce off.&amp;nbsp; Damned if we do, damned if
we don't say anything.)&amp;nbsp; 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.&lt;/p&gt;

&lt;p&gt;In a way, I'd say&amp;nbsp;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.&lt;/p&gt;

&lt;p&gt;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.&amp;nbsp; 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.&lt;/p&gt;

&lt;p&gt;*I* think there are two approachs to take to moving
the state of "programming language for the web" forward.&amp;nbsp; 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).&amp;nbsp; 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.&amp;nbsp; Those are the priorities I think should be placed
on evolving Javascript.&lt;/p&gt;

&lt;p&gt;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.&amp;nbsp; 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.&amp;nbsp; (I'd also take on
other challenges first if I were redesigning Javascript - e.g. domain-aware
security as a language tenet.&amp;nbsp; That's Monday-morning quarterbacking the
ES4 design as a new language proposal though.) &lt;/p&gt;

&lt;p&gt;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 &lt;a href="http://wiki.mozilla.org/Tamarin:ScreamingMonkey" mce_href="http://wiki.mozilla.org/Tamarin:ScreamingMonkey"&gt;ScreamingMonkey&lt;/a&gt; approach).&amp;nbsp; 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.&amp;nbsp; &lt;/p&gt;

&lt;p&gt;Sadly, this seems to be turning into an
"ES4: yes or no" battle.&amp;nbsp; 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".&amp;nbsp; It's been pointed out that we haven't made an alternate proposal - well, I'd kinda hoped we could work it out together.&amp;nbsp;  "Open to input"
should be the way of the web, should it not?&amp;nbsp; 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.&amp;nbsp; I also think it's a shame
that the response to any dissent has equated to shouting the dissenters
down.&amp;nbsp; The string of blog posts over the last week, and the immediate and
somewhat&amp;nbsp;incendiary comments from ES4 proponents,&amp;nbsp;has been a good
example of that.  &lt;/p&gt;&lt;p&gt;Hey, everyone can have an opinion.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5801280" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cwilso/archive/tags/internetexplorer/default.aspx">internetexplorer</category><category domain="http://blogs.msdn.com/cwilso/archive/tags/chriswilson/default.aspx">chriswilson</category><category domain="http://blogs.msdn.com/cwilso/archive/tags/ie/default.aspx">ie</category><category domain="http://blogs.msdn.com/cwilso/archive/tags/javascript/default.aspx">javascript</category><category domain="http://blogs.msdn.com/cwilso/archive/tags/ecmascript/default.aspx">ecmascript</category><category domain="http://blogs.msdn.com/cwilso/archive/tags/es4/default.aspx">es4</category></item></channel></rss>