<?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: JavaScript 2: A Perl 6 disaster, that matters so much more, but wait&#8230;</title>
	<atom:link href="http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait/feed" rel="self" type="application/rss+xml" />
	<link>http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait</link>
	<description>blogging about life, the universe, and everything tech</description>
	<lastBuildDate>Sat, 08 Sep 2012 07:06:53 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Ray Cromwell</title>
		<link>http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait/comment-page-1#comment-39402</link>
		<dc:creator>Ray Cromwell</dc:creator>
		<pubDate>Thu, 14 Aug 2008 06:57:28 +0000</pubDate>
		<guid isPermaLink="false">http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait#comment-39402</guid>
		<description>I personally think the &quot;mythbusting&quot; benchmarks showing tracing jits vs Tamarin with types are fundamentally flawed. It&#039;s like comparing the very first Java JIT against later Java interpreters which were quite fast. JITing on static types would come out looking poor, and we could proudly proclaim: &quot;Myth Busted, interpreters are not slow!&quot; 

Tamarin&#039;s usage of the static type information for compilation purposes is most likely in its infancy. If we compare Hotspot Server from Java6 with the original Java 1.1 JITs, we&#039;d see a huge gap.

What the benchmarks show is that the tracing JIT can approach the performance of Tamarin with types, not that it can beat any possible JS JIT that leverages static types.

Back when Self put out their paper on profile based type-feedback, there were people claiming that late bound languages could even equal or exceed C++, and then again, when Sun put out Hotspot, but it never materialized. What happened was, HotSpot got good enough for numerical work except in ultra high end cases (HPC), approaching 80% of speed of C++ on linpack, and people forgot about the hyperbolic claims.

I think what will happen is, Javascript will get &quot;fast enough&quot; to silence speed claims for a good swath of applications, because at this point, alot of the subjective user experience is actually dominated by DOM rendering bottlenecks.  However, it will still suffer inefficiencies in numerically bound apps, power restricted cases on mobile devices, and probably won&#039;t be John Carmack&#039;s first choice for his next game engine. :)

(That said, lack of modules/packages makes JS painful for me, and of course, tool support is uber important)</description>
		<content:encoded><![CDATA[<p>I personally think the &#8220;mythbusting&#8221; benchmarks showing tracing jits vs Tamarin with types are fundamentally flawed. It&#8217;s like comparing the very first Java JIT against later Java interpreters which were quite fast. JITing on static types would come out looking poor, and we could proudly proclaim: &#8220;Myth Busted, interpreters are not slow!&#8221; </p>
<p>Tamarin&#8217;s usage of the static type information for compilation purposes is most likely in its infancy. If we compare Hotspot Server from Java6 with the original Java 1.1 JITs, we&#8217;d see a huge gap.</p>
<p>What the benchmarks show is that the tracing JIT can approach the performance of Tamarin with types, not that it can beat any possible JS JIT that leverages static types.</p>
<p>Back when Self put out their paper on profile based type-feedback, there were people claiming that late bound languages could even equal or exceed C++, and then again, when Sun put out Hotspot, but it never materialized. What happened was, HotSpot got good enough for numerical work except in ultra high end cases (HPC), approaching 80% of speed of C++ on linpack, and people forgot about the hyperbolic claims.</p>
<p>I think what will happen is, Javascript will get &#8220;fast enough&#8221; to silence speed claims for a good swath of applications, because at this point, alot of the subjective user experience is actually dominated by DOM rendering bottlenecks.  However, it will still suffer inefficiencies in numerically bound apps, power restricted cases on mobile devices, and probably won&#8217;t be John Carmack&#8217;s first choice for his next game engine. :)</p>
<p>(That said, lack of modules/packages makes JS painful for me, and of course, tool support is uber important)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Justin Meyer</title>
		<link>http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait/comment-page-1#comment-39400</link>
		<dc:creator>Justin Meyer</dc:creator>
		<pubDate>Thu, 14 Aug 2008 03:18:42 +0000</pubDate>
		<guid isPermaLink="false">http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait#comment-39400</guid>
		<description>I think harmony is a perfect compromise.  It&#039;s attainable and won&#039;t change developers worlds too radically.

For those people who are also annoyed with including javascripts, you might take a look at JavaScriptMVC&#039;s include:  http://javascriptmvc.com/learningcenter/include/index.html.  It&#039;s been hooked up to shrinksafe so you can automatically compress your whole project without any extra work.</description>
		<content:encoded><![CDATA[<p>I think harmony is a perfect compromise.  It&#8217;s attainable and won&#8217;t change developers worlds too radically.</p>
<p>For those people who are also annoyed with including javascripts, you might take a look at JavaScriptMVC&#8217;s include:  <a href="http://javascriptmvc.com/learningcenter/include/index.html" rel="nofollow">http://javascriptmvc.com/learningcenter/include/index.html</a>.  It&#8217;s been hooked up to shrinksafe so you can automatically compress your whole project without any extra work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dion</title>
		<link>http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait/comment-page-1#comment-39396</link>
		<dc:creator>dion</dc:creator>
		<pubDate>Wed, 13 Aug 2008 13:54:19 +0000</pubDate>
		<guid isPermaLink="false">http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait#comment-39396</guid>
		<description>Brad,

I see how it can be nice. However, I also see how verbose a lot of AS3 code gets. If the core is annotated by a lot of the peripheral code isn&#039;t that is fine. But when I see a ton of var foo:Bar .... it looks ugly to my eyes.

And I don&#039;t buy the performance angle. The tool angle a touch more....</description>
		<content:encoded><![CDATA[<p>Brad,</p>
<p>I see how it can be nice. However, I also see how verbose a lot of AS3 code gets. If the core is annotated by a lot of the peripheral code isn&#8217;t that is fine. But when I see a ton of var foo:Bar &#8230;. it looks ugly to my eyes.</p>
<p>And I don&#8217;t buy the performance angle. The tool angle a touch more&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad Neuberg</title>
		<link>http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait/comment-page-1#comment-39391</link>
		<dc:creator>Brad Neuberg</dc:creator>
		<pubDate>Wed, 13 Aug 2008 12:44:27 +0000</pubDate>
		<guid isPermaLink="false">http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait#comment-39391</guid>
		<description>Hi Dion, have you gotten to code in ActionScript 3? Once you&#039;ve gotten a taste of hybrid typing its hard to go back. It&#039;s really nice. You get to have dynamic typing when you want it, but then you can annotate types where it makes sense, especially when doing programing in the large. Its like the best of both worlds -- its really elegant and productive. Plus, if you do it in the right places you really can get orders of magnitude performance improvements.

Best,
  Brad</description>
		<content:encoded><![CDATA[<p>Hi Dion, have you gotten to code in ActionScript 3? Once you&#8217;ve gotten a taste of hybrid typing its hard to go back. It&#8217;s really nice. You get to have dynamic typing when you want it, but then you can annotate types where it makes sense, especially when doing programing in the large. Its like the best of both worlds &#8212; its really elegant and productive. Plus, if you do it in the right places you really can get orders of magnitude performance improvements.</p>
<p>Best,<br />
  Brad</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Fendley</title>
		<link>http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait/comment-page-1#comment-39389</link>
		<dc:creator>David Fendley</dc:creator>
		<pubDate>Wed, 13 Aug 2008 03:15:34 +0000</pubDate>
		<guid isPermaLink="false">http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait#comment-39389</guid>
		<description>Great post, until &quot;get &#039;er done.&quot; ;)

No really, though. I agree that having many ways to do something can be a headache. I adore Ruby, but I find some methods harder to memorize b/c there&#039;s many ways to execute them.</description>
		<content:encoded><![CDATA[<p>Great post, until &#8220;get &#8216;er done.&#8221; ;)</p>
<p>No really, though. I agree that having many ways to do something can be a headache. I adore Ruby, but I find some methods harder to memorize b/c there&#8217;s many ways to execute them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dion</title>
		<link>http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait/comment-page-1#comment-39388</link>
		<dc:creator>dion</dc:creator>
		<pubDate>Tue, 12 Aug 2008 14:50:48 +0000</pubDate>
		<guid isPermaLink="false">http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait#comment-39388</guid>
		<description>@Michael,

Static typing can help with tooling. The performance issue is being disproved with the trace based JIT systems that do a phenomenal job without resorting to static typing.

There are other great statically typing languages.... let them do their thing on the browser and keep JavaScript a great, simple, dynamic language :)

Cheers,

Dion</description>
		<content:encoded><![CDATA[<p>@Michael,</p>
<p>Static typing can help with tooling. The performance issue is being disproved with the trace based JIT systems that do a phenomenal job without resorting to static typing.</p>
<p>There are other great statically typing languages&#8230;. let them do their thing on the browser and keep JavaScript a great, simple, dynamic language :)</p>
<p>Cheers,</p>
<p>Dion</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dion</title>
		<link>http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait/comment-page-1#comment-39387</link>
		<dc:creator>dion</dc:creator>
		<pubDate>Tue, 12 Aug 2008 14:48:56 +0000</pubDate>
		<guid isPermaLink="false">http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait#comment-39387</guid>
		<description>@Nosredna,

The point I am making is that instead of trying to make JavaScript do all things &quot;let&#039;s give it statis typing!&quot;, instead make it a great dynamic language and let other languages also run on the browser platform.

Java went through this too. Instead of adding everything to Java the language, which makes it much more complicated, it is better to focus on Java the platform and having a seemless way to interop between the languages (JRuby etc etc). That is finally happening.</description>
		<content:encoded><![CDATA[<p>@Nosredna,</p>
<p>The point I am making is that instead of trying to make JavaScript do all things &#8220;let&#8217;s give it statis typing!&#8221;, instead make it a great dynamic language and let other languages also run on the browser platform.</p>
<p>Java went through this too. Instead of adding everything to Java the language, which makes it much more complicated, it is better to focus on Java the platform and having a seemless way to interop between the languages (JRuby etc etc). That is finally happening.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait/comment-page-1#comment-39386</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Tue, 12 Aug 2008 14:22:54 +0000</pubDate>
		<guid isPermaLink="false">http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait#comment-39386</guid>
		<description>Static typing is not just about making JS more Java-ish, it is about performance. You give the VM extremely useful extra information and it in turns runs orders of magnitude faster. That is the case with ActionScript 3 at least. Also, static typing allows for better tools as they can provide code completion, refactoring, etc. Never underestimate the importance of improved tooling to developers.</description>
		<content:encoded><![CDATA[<p>Static typing is not just about making JS more Java-ish, it is about performance. You give the VM extremely useful extra information and it in turns runs orders of magnitude faster. That is the case with ActionScript 3 at least. Also, static typing allows for better tools as they can provide code completion, refactoring, etc. Never underestimate the importance of improved tooling to developers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: chromatic</title>
		<link>http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait/comment-page-1#comment-39376</link>
		<dc:creator>chromatic</dc:creator>
		<pubDate>Sat, 09 Aug 2008 00:48:55 +0000</pubDate>
		<guid isPermaLink="false">http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait#comment-39376</guid>
		<description>What&#039;s the Perl 6 disaster, Dion?  C&#039;mon, don&#039;t be a tease!</description>
		<content:encoded><![CDATA[<p>What&#8217;s the Perl 6 disaster, Dion?  C&#8217;mon, don&#8217;t be a tease!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nosredna</title>
		<link>http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait/comment-page-1#comment-39375</link>
		<dc:creator>Nosredna</dc:creator>
		<pubDate>Sat, 09 Aug 2008 00:13:16 +0000</pubDate>
		<guid isPermaLink="false">http://almaer.com/blog/javascript-2-a-perl-6-disaster-that-matters-so-much-more-but-wait#comment-39375</guid>
		<description>Not sure there&#039;s a whole lot of difference between giving JavaScript &lt;b&gt;optional&lt;/b&gt; typing and letting people write ActionScript for the browser.

If it&#039;s &quot;optional,&quot; then it looks like JavaScript when you don&#039;t and ActionScript when you do.</description>
		<content:encoded><![CDATA[<p>Not sure there&#8217;s a whole lot of difference between giving JavaScript <b>optional</b> typing and letting people write ActionScript for the browser.</p>
<p>If it&#8217;s &#8220;optional,&#8221; then it looks like JavaScript when you don&#8217;t and ActionScript when you do.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
