<?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: Now this is ridiculous</title>
	<atom:link href="http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/feed/" rel="self" type="application/rss+xml" />
	<link>http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/</link>
	<description>sin incertidumbre no hay novedad, sin novedad posible no hay más que repetición y, por lo tanto, negación del otro como un ser libre: el ser libre es un ser incierto. (adrian mancuso)</description>
	<lastBuildDate>Mon, 15 Mar 2010 09:02:30 +0100</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Jim Loverde</title>
		<link>http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/comment-page-1/#comment-12704</link>
		<dc:creator>Jim Loverde</dc:creator>
		<pubDate>Wed, 05 Mar 2008 04:54:53 +0000</pubDate>
		<guid isPermaLink="false">http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/#comment-12704</guid>
		<description>You make a good point Ricky.  However, the problem is that Javascript has already seen &quot;pseudo-static&quot; typing shoehorned into it by frameworks like Prototype and Dojo.  And the problem is that because these frameworks use different metamodels to represent their types, it makes it difficult for them to work together.  And that&#039;s why Javascript needs to add support for a consistent static class metamodel.

That being said, generics support and some of the other things in the ECMAScript 4 proposal might be overboard.  But I&#039;d rather have one dramatic change than a series of incremental changes.

Personally, I think that the meta level hooks in ES4 will be the single most powerful feature that ES4 brings to bear on the language.  But I&#039;ve had trouble finding any detailed documentation on how they will work, so it&#039;s possible they won&#039;t be as useful as they could be.</description>
		<content:encoded><![CDATA[<p>You make a good point Ricky.  However, the problem is that Javascript has already seen &#8220;pseudo-static&#8221; typing shoehorned into it by frameworks like Prototype and Dojo.  And the problem is that because these frameworks use different metamodels to represent their types, it makes it difficult for them to work together.  And that&#8217;s why Javascript needs to add support for a consistent static class metamodel.</p>
<p>That being said, generics support and some of the other things in the ECMAScript 4 proposal might be overboard.  But I&#8217;d rather have one dramatic change than a series of incremental changes.</p>
<p>Personally, I think that the meta level hooks in ES4 will be the single most powerful feature that ES4 brings to bear on the language.  But I&#8217;ve had trouble finding any detailed documentation on how they will work, so it&#8217;s possible they won&#8217;t be as useful as they could be.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ricky Clarkson</title>
		<link>http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/comment-page-1/#comment-12689</link>
		<dc:creator>Ricky Clarkson</dc:creator>
		<pubDate>Tue, 04 Mar 2008 16:21:32 +0000</pubDate>
		<guid isPermaLink="false">http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/#comment-12689</guid>
		<description>Jim, I agree completely, but I think it will work better the other way around, where static languages gain dynamic features.  This is because static typing is actually a more involved topic than dynamic typing*, so it&#039;s easier for a static language&#039;s designers to get dynamic features right than the other way around.

* See Philip Wadler&#039;s talk on Faith, Evolution and Programming Languages ( http://video.google.com/videoplay?docid=-4167170843018186532 and the slides: http://homepages.inf.ed.ac.uk/wadler/topics/gj.html#oopsla )</description>
		<content:encoded><![CDATA[<p>Jim, I agree completely, but I think it will work better the other way around, where static languages gain dynamic features.  This is because static typing is actually a more involved topic than dynamic typing*, so it&#8217;s easier for a static language&#8217;s designers to get dynamic features right than the other way around.</p>
<p>* See Philip Wadler&#8217;s talk on Faith, Evolution and Programming Languages ( <a href="http://video.google.com/videoplay?docid=-4167170843018186532" rel="nofollow">http://video.google.com/videoplay?docid=-4167170843018186532</a> and the slides: <a href="http://homepages.inf.ed.ac.uk/wadler/topics/gj.html#oopsla" rel="nofollow">http://homepages.inf.ed.ac.uk/wadler/topics/gj.html#oopsla</a> )</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ricky Clarkson</title>
		<link>http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/comment-page-1/#comment-12687</link>
		<dc:creator>Ricky Clarkson</dc:creator>
		<pubDate>Tue, 04 Mar 2008 15:06:20 +0000</pubDate>
		<guid isPermaLink="false">http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/#comment-12687</guid>
		<description>I am not a great Haskell user, I use it as a posh calculator, but I have learned a lot about it and from it.  I suggest Yet Another Haskell Tutorial, which is also available as a wikibook, though general advice says to ignore what it says about monads, because it&#039;s a bit misleading there.  Simon Peyton-Jones&#039; The Awkward Squad is an excellent read explaining how Haskell&#039;s monads come into play in &#039;real&#039; software, though it might take a few attempts to read it thoroughly, depending on your background.

QuickCheck itself is reasonably easy to understand, and to port to other languages, at least for its basic functionality.</description>
		<content:encoded><![CDATA[<p>I am not a great Haskell user, I use it as a posh calculator, but I have learned a lot about it and from it.  I suggest Yet Another Haskell Tutorial, which is also available as a wikibook, though general advice says to ignore what it says about monads, because it&#8217;s a bit misleading there.  Simon Peyton-Jones&#8217; The Awkward Squad is an excellent read explaining how Haskell&#8217;s monads come into play in &#8216;real&#8217; software, though it might take a few attempts to read it thoroughly, depending on your background.</p>
<p>QuickCheck itself is reasonably easy to understand, and to port to other languages, at least for its basic functionality.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jim LoVerde</title>
		<link>http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/comment-page-1/#comment-12686</link>
		<dc:creator>Jim LoVerde</dc:creator>
		<pubDate>Tue, 04 Mar 2008 15:04:52 +0000</pubDate>
		<guid isPermaLink="false">http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/#comment-12686</guid>
		<description>Why must everything be absolute?  Dynamic typing is useful for some situations.  Static typing is useful for some situations.  Having a language that supports both idioms is a good thing.</description>
		<content:encoded><![CDATA[<p>Why must everything be absolute?  Dynamic typing is useful for some situations.  Static typing is useful for some situations.  Having a language that supports both idioms is a good thing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daily Bits - March 4, 2008 &#124; Alvin Ashcraft's Daily Geek Bits</title>
		<link>http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/comment-page-1/#comment-12685</link>
		<dc:creator>Daily Bits - March 4, 2008 &#124; Alvin Ashcraft's Daily Geek Bits</dc:creator>
		<pubDate>Tue, 04 Mar 2008 14:30:35 +0000</pubDate>
		<guid isPermaLink="false">http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/#comment-12685</guid>
		<description>[...] Now This Is Ridiculous (Generics in JavaScript) (Adrian Kosmaczewski) [...]</description>
		<content:encoded><![CDATA[<p>[...] Now This Is Ridiculous (Generics in JavaScript) (Adrian Kosmaczewski) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: adrian</title>
		<link>http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/comment-page-1/#comment-12683</link>
		<dc:creator>adrian</dc:creator>
		<pubDate>Tue, 04 Mar 2008 13:22:42 +0000</pubDate>
		<guid isPermaLink="false">http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/#comment-12683</guid>
		<description>Hi again Ricky! Indeed my server is working randomly today :) Sorry for that.

Regarding type inference, you can then get my puzzled look as well :)) I will check that, definitely. What I was talking about in the .NET world is reflection, that is, the mechanism to get type info at runtime, which involves (or at least involved) heavy method calls inside the CLR (.NET&#039;s runtime). Actually that&#039;s now part of a complete plan of learning Haskell at some time! Do you have any good resource to point me at? Thanks!</description>
		<content:encoded><![CDATA[<p>Hi again Ricky! Indeed my server is working randomly today :) Sorry for that.</p>
<p>Regarding type inference, you can then get my puzzled look as well :)) I will check that, definitely. What I was talking about in the .NET world is reflection, that is, the mechanism to get type info at runtime, which involves (or at least involved) heavy method calls inside the CLR (.NET&#8217;s runtime). Actually that&#8217;s now part of a complete plan of learning Haskell at some time! Do you have any good resource to point me at? Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ricky Clarkson</title>
		<link>http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/comment-page-1/#comment-12681</link>
		<dc:creator>Ricky Clarkson</dc:creator>
		<pubDate>Tue, 04 Mar 2008 12:47:27 +0000</pubDate>
		<guid isPermaLink="false">http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/#comment-12681</guid>
		<description>I possibly submitted multiple copies of that comment - your site appeared to respond to reads better than writes. :)

Type inference has no performance penalties.  If you think it does, you probably don&#039;t know what it is.  It&#039;s a compile-time mechanism only.  (I checked with some .NET people and they gave me blank looks, as far as is possible over the Internet)

QuickCheck is particularly interesting because it&#039;s very very useful, and if you port it to dynamic languages the code to use it is longer, because you then have to be explicit about types.</description>
		<content:encoded><![CDATA[<p>I possibly submitted multiple copies of that comment &#8211; your site appeared to respond to reads better than writes. :)</p>
<p>Type inference has no performance penalties.  If you think it does, you probably don&#8217;t know what it is.  It&#8217;s a compile-time mechanism only.  (I checked with some .NET people and they gave me blank looks, as far as is possible over the Internet)</p>
<p>QuickCheck is particularly interesting because it&#8217;s very very useful, and if you port it to dynamic languages the code to use it is longer, because you then have to be explicit about types.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: adrian</title>
		<link>http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/comment-page-1/#comment-12678</link>
		<dc:creator>adrian</dc:creator>
		<pubDate>Tue, 04 Mar 2008 11:40:13 +0000</pubDate>
		<guid isPermaLink="false">http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/#comment-12678</guid>
		<description>Hi Ricky, thanks for your comments! In my previous life (as a .NET developer) we could use type inference and reflection, but (at least up to version 2 of the .NET framework) there were huge performance penalties to do so, and this usually limited their applicability, particularly for demanding web apps. I will take a look at Haskell soon!</description>
		<content:encoded><![CDATA[<p>Hi Ricky, thanks for your comments! In my previous life (as a .NET developer) we could use type inference and reflection, but (at least up to version 2 of the .NET framework) there were huge performance penalties to do so, and this usually limited their applicability, particularly for demanding web apps. I will take a look at Haskell soon!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ricky Clarkson</title>
		<link>http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/comment-page-1/#comment-12677</link>
		<dc:creator>Ricky Clarkson</dc:creator>
		<pubDate>Tue, 04 Mar 2008 11:28:29 +0000</pubDate>
		<guid isPermaLink="false">http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/#comment-12677</guid>
		<description>&quot;Static languages force you to write more code, and more code means more maintenance costs.&quot;

This is false.  Read about type inference.  See Haskell&#039;s QuickCheck for its benefits.</description>
		<content:encoded><![CDATA[<p>&#8220;Static languages force you to write more code, and more code means more maintenance costs.&#8221;</p>
<p>This is false.  Read about type inference.  See Haskell&#8217;s QuickCheck for its benefits.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: blackdog</title>
		<link>http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/comment-page-1/#comment-12652</link>
		<dc:creator>blackdog</dc:creator>
		<pubDate>Tue, 04 Mar 2008 09:18:32 +0000</pubDate>
		<guid isPermaLink="false">http://kosmaczewski.net/2008/03/03/now-this-is-ridiculous/#comment-12652</guid>
		<description>+1 haXe
everything that ES4 wants to be</description>
		<content:encoded><![CDATA[<p>+1 haXe<br />
everything that ES4 wants to be</p>
]]></content:encoded>
	</item>
</channel>
</rss>
