<?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: Cobra: A Little JavaScript Class Library</title>
	<atom:link href="http://justin.harmonize.fm/index.php/2009/01/cobra-a-little-javascript-class-library/feed/" rel="self" type="application/rss+xml" />
	<link>http://justin.harmonize.fm/index.php/2009/01/cobra-a-little-javascript-class-library/</link>
	<description>A cup of coffee and a soapbox is like a bottle of Jack and a gun.</description>
	<lastBuildDate>Sun, 13 Jun 2010 06:26:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: justin</title>
		<link>http://justin.harmonize.fm/index.php/2009/01/cobra-a-little-javascript-class-library/comment-page-1/#comment-52</link>
		<dc:creator>justin</dc:creator>
		<pubDate>Sat, 24 Jan 2009 06:58:03 +0000</pubDate>
		<guid isPermaLink="false">http://justin.harmonize.fm/?p=124#comment-52</guid>
		<description>You probably would want to use another library in addition to this. It plays nicely with other libraries, even ones that already have a &quot;Class&quot; object (you just need to refer to Cobra.Class instead). I like MooTools when I don&#039;t need ExtJS, but everybody else seems to love jQuery.</description>
		<content:encoded><![CDATA[<p>You probably would want to use another library in addition to this. It plays nicely with other libraries, even ones that already have a &#8220;Class&#8221; object (you just need to refer to Cobra.Class instead). I like MooTools when I don&#39;t need ExtJS, but everybody else seems to love jQuery.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave</title>
		<link>http://justin.harmonize.fm/index.php/2009/01/cobra-a-little-javascript-class-library/comment-page-1/#comment-49</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Fri, 23 Jan 2009 08:05:50 +0000</pubDate>
		<guid isPermaLink="false">http://justin.harmonize.fm/?p=124#comment-49</guid>
		<description>This looks awesome.  Crescendo needs some work for the web client, so there&#039;s a distinct possibility of using Cobra for that.  I think it has a lot of potential, you definitely nailed down something that&#039;s been needed for awhile without the bloat of a huge framework.&lt;br&gt;&lt;br&gt;Nice work.</description>
		<content:encoded><![CDATA[<p>This looks awesome.  Crescendo needs some work for the web client, so there&#39;s a distinct possibility of using Cobra for that.  I think it has a lot of potential, you definitely nailed down something that&#39;s been needed for awhile without the bloat of a huge framework.</p>
<p>Nice work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: justin</title>
		<link>http://justin.harmonize.fm/index.php/2009/01/cobra-a-little-javascript-class-library/comment-page-1/#comment-47</link>
		<dc:creator>justin</dc:creator>
		<pubDate>Wed, 21 Jan 2009 03:47:43 +0000</pubDate>
		<guid isPermaLink="false">http://justin.harmonize.fm/?p=124#comment-47</guid>
		<description>I thought about both things and eventually decided against.&lt;br&gt;&lt;br&gt;I wanted __extends__ to be a member of the class declaration so that it&#039;s explicitly clear what is going on. There&#039;s no concept in JavaScript that would imply that by passing a different class as the first parameter should create a class that inherits from that parent class. Any such implication is derived from how other languages do things. Thus, to avoid any possibility of confusion, I explicitly label the parent class.&lt;br&gt;&lt;br&gt;I also thought about getting rid of &quot;new&quot;. In fact, I got rid of it before deleting all that code and leaving it in. There are a few reasons to keep new.&lt;br&gt;&lt;br&gt;1. This is JavaScript. A new instance of a class is created by using the &quot;new&quot; keyword. I did not want users of classes created with cobra to be forced to alter how they use JavaScript.&lt;br&gt;&lt;br&gt;2. I want there to be one (and only one) obvious way to instantiate classes. It&#039;s easy to make the &quot;new&quot; keyword optional, but then you have two ways to instantiate classes. The way I have it, there is one way, and that one way is obvious.&lt;br&gt;&lt;br&gt;3. More code. The first two reasons are pretty good I think, so why write more code to support a feature that is not necessary?</description>
		<content:encoded><![CDATA[<p>I thought about both things and eventually decided against.</p>
<p>I wanted __extends__ to be a member of the class declaration so that it&#39;s explicitly clear what is going on. There&#39;s no concept in JavaScript that would imply that by passing a different class as the first parameter should create a class that inherits from that parent class. Any such implication is derived from how other languages do things. Thus, to avoid any possibility of confusion, I explicitly label the parent class.</p>
<p>I also thought about getting rid of &#8220;new&#8221;. In fact, I got rid of it before deleting all that code and leaving it in. There are a few reasons to keep new.</p>
<p>1. This is JavaScript. A new instance of a class is created by using the &#8220;new&#8221; keyword. I did not want users of classes created with cobra to be forced to alter how they use JavaScript.</p>
<p>2. I want there to be one (and only one) obvious way to instantiate classes. It&#39;s easy to make the &#8220;new&#8221; keyword optional, but then you have two ways to instantiate classes. The way I have it, there is one way, and that one way is obvious.</p>
<p>3. More code. The first two reasons are pretty good I think, so why write more code to support a feature that is not necessary?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: justin</title>
		<link>http://justin.harmonize.fm/index.php/2009/01/cobra-a-little-javascript-class-library/comment-page-1/#comment-46</link>
		<dc:creator>justin</dc:creator>
		<pubDate>Tue, 20 Jan 2009 02:17:23 +0000</pubDate>
		<guid isPermaLink="false">http://justin.harmonize.fm/?p=124#comment-46</guid>
		<description>There is a reason for the underscores. The underscores indicate &quot;this is special, and the system will do something different with this parameter&quot;. I&#039;m all for other suggestions, but I would like to maintain some sort of visual differentiation between normal attributes and &quot;special&quot; attributes.&lt;br&gt;&lt;br&gt;I&#039;m a python developer, not a ruby developer, so init&#039;s going to be sticking around :).</description>
		<content:encoded><![CDATA[<p>There is a reason for the underscores. The underscores indicate &#8220;this is special, and the system will do something different with this parameter&#8221;. I&#39;m all for other suggestions, but I would like to maintain some sort of visual differentiation between normal attributes and &#8220;special&#8221; attributes.</p>
<p>I&#39;m a python developer, not a ruby developer, so init&#39;s going to be sticking around <img src='http://justin.harmonize.fm/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Long</title>
		<link>http://justin.harmonize.fm/index.php/2009/01/cobra-a-little-javascript-class-library/comment-page-1/#comment-45</link>
		<dc:creator>John Long</dc:creator>
		<pubDate>Sat, 17 Jan 2009 22:53:27 +0000</pubDate>
		<guid isPermaLink="false">http://justin.harmonize.fm/?p=124#comment-45</guid>
		<description>This is nice. Please consider dropping the underscores on init and extend. Also Ruby developers like me would prefer initialize to init. Great work.</description>
		<content:encoded><![CDATA[<p>This is nice. Please consider dropping the underscores on init and extend. Also Ruby developers like me would prefer initialize to init. Great work.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
