<?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: Kurt Cagle&#8217;s soapy post on Javascript</title>
	<atom:link href="http://foolswisdom.com/kurt-cagle-leaves-me-feeling-soapy/feed/" rel="self" type="application/rss+xml" />
	<link>http://foolswisdom.com/kurt-cagle-leaves-me-feeling-soapy/</link>
	<description>A fool and his blog are soon parted.</description>
	<pubDate>Thu, 20 Nov 2008 15:03:13 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7-beta2-9617</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: foolswisdom</title>
		<link>http://foolswisdom.com/kurt-cagle-leaves-me-feeling-soapy/comment-page-1/#comment-18</link>
		<dc:creator>foolswisdom</dc:creator>
		<pubDate>Sun, 11 Sep 2005 21:42:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.foolswisdom.com/~lloyd/wordpress/?p=19#comment-18</guid>
		<description>Wow, that one was a bit long for me ;-)

I enjoyed &lt;a rel="nofollow" href="http://www.understandingxml.com/archives/2005/09/javascript_and.html" rel="nofollow"&gt;"Javascript and Python"&lt;/a&gt; more.

I had not read that after Brendan Eich announced Python support for XUL at &lt;a href="http://conferences.oreillynet.com/et2005/" rel="nofollow"&gt;ETech 2005&lt;/a&gt; that &lt;a href="http://weblogs.mozillazine.org/roadmap/archives/008865.html" rel="nofollow"&gt;"Mark Hammond has begun delivering the goods"&lt;/a&gt;.

I find it interesting how a concept, Python in this case, gets to a point where it rapidly gains momentum in the communal consciousness, and from there in "products".

&lt;!-- technorati tags begin --&gt;

&lt;p style="font-size: 10px; text-align: right"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tag/Brendan+Eich" rel="nofollow"&gt;Brendan Eich&lt;/a&gt;&lt;a rel="tag" href="http://technorati.com/tag/Mark+Hammond" rel="nofollow"&gt;Mark Hammond&lt;/a&gt;
&lt;!-- technorati tags end --&gt;&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>Wow, that one was a bit long for me <img src='http://foolswisdom.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>I enjoyed <a rel="nofollow" href="http://www.understandingxml.com/archives/2005/09/javascript_and.html" rel="nofollow">&#8220;Javascript and Python&#8221;</a> more.</p>
<p>I had not read that after Brendan Eich announced Python support for XUL at <a href="http://conferences.oreillynet.com/et2005/" rel="nofollow">ETech 2005</a> that <a href="http://weblogs.mozillazine.org/roadmap/archives/008865.html" rel="nofollow">&#8220;Mark Hammond has begun delivering the goods&#8221;</a>.</p>
<p>I find it interesting how a concept, Python in this case, gets to a point where it rapidly gains momentum in the communal consciousness, and from there in &#8220;products&#8221;.</p>
<p><!-- technorati tags begin --></p>
<p style="font-size: 10px; text-align: right">Technorati Tags: <a rel="tag" href="http://technorati.com/tag/Brendan+Eich" rel="nofollow">Brendan Eich</a><a rel="tag" href="http://technorati.com/tag/Mark+Hammond" rel="nofollow">Mark Hammond</a><br />
<!-- technorati tags end --></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kurt Cagle</title>
		<link>http://foolswisdom.com/kurt-cagle-leaves-me-feeling-soapy/comment-page-1/#comment-16</link>
		<dc:creator>Kurt Cagle</dc:creator>
		<pubDate>Fri, 09 Sep 2005 20:51:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.foolswisdom.com/~lloyd/wordpress/?p=19#comment-16</guid>
		<description>Try this:

http://www.understandingxml.com/archives/2005/09/sleep_javascrip_1.html

-- Kurt</description>
		<content:encoded><![CDATA[<p>Try this:</p>
<p><a href="http://www.understandingxml.com/archives/2005/09/sleep_javascrip_1.html" rel="nofollow">http://www.understandingxml.com/archives/2005/09/sleep_javascrip_1.html</a></p>
<p>&#8211; Kurt</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: foolswisdom</title>
		<link>http://foolswisdom.com/kurt-cagle-leaves-me-feeling-soapy/comment-page-1/#comment-15</link>
		<dc:creator>foolswisdom</dc:creator>
		<pubDate>Fri, 09 Sep 2005 16:43:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.foolswisdom.com/~lloyd/wordpress/?p=19#comment-15</guid>
		<description>Now this is the Kurt I know and love! Nothing to add regarding the greater points that you articulate, nor even access to the ideas you present ;-)

Possibly Python has played a more "community conscience" role in  "[anticipating] a new, largely declarative, school of thought that says that type itself is simply one aspect of many of a particular entity, an aspect that can in turn be abstracted."

&lt;!-- technorati tags begin --&gt;&lt;p style="font-size:10px;text-align:right;"&gt;Additional Technorati Tags: &lt;a href="http://technorati.com/tag/Python" rel="tag"&gt;Python&lt;/a&gt;, &lt;a href="http://technorati.com/tag/xml" rel="tag"&gt;XML&lt;/a&gt; 
&lt;!-- technorati tags end --&gt;&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>Now this is the Kurt I know and love! Nothing to add regarding the greater points that you articulate, nor even access to the ideas you present <img src='http://foolswisdom.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Possibly Python has played a more &#8220;community conscience&#8221; role in  &#8220;[anticipating] a new, largely declarative, school of thought that says that type itself is simply one aspect of many of a particular entity, an aspect that can in turn be abstracted.&#8221;</p>
<p><!-- technorati tags begin -->
<p style="font-size:10px;text-align:right;">Additional Technorati Tags: <a href="http://technorati.com/tag/Python" rel="tag">Python</a>, <a href="http://technorati.com/tag/xml" rel="tag">XML</a><br />
<!-- technorati tags end --></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kurt Cagle</title>
		<link>http://foolswisdom.com/kurt-cagle-leaves-me-feeling-soapy/comment-page-1/#comment-13</link>
		<dc:creator>Kurt Cagle</dc:creator>
		<pubDate>Fri, 09 Sep 2005 14:52:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.foolswisdom.com/~lloyd/wordpress/?p=19#comment-13</guid>
		<description>Lloyd,

I feel properly taken to task. The comments are largely out of my control - they had been disabled for a while because the software that I used (hosted by a friend) was getting spambotted six ways to Sunday, and I was having to dig through ten poker advertisements for every one legitimate post. The friend in question is changing software, but hasn't migrated to that particular section yet.

Concerning the Javascript article - I was operating with about an hour and a half of sleep from the previous night, and in all honesty was VERY surprised that the article was even written in a recognizable form of English after a full night of sleep thereafter. It's NOT one of my more exemplary posts, though I've written worse (usually after even less sleep).

To the topic at hand:

Javascript is one of those topics which engender either great love or great hate, which to me is the sign that a language is sufficiently useful that people are willing to invest the time to become advocates or critics of that language. As with most such languages, its strengths are also its weaknesses, depending upon the viewpoint. 

Javsacript is likely to be the first weakly typed language that programmers encounter. If they have been raised upon a diet of C++ and Java, this "weakness" - specifically the notion that the user should not in fact be more than peripherally aware of type - seems fundamentally wrong and contradictory, the sign of an "immature" language that should only be used by "non-programmers". 

I actually think its nothing of the sort, but is in fact an anticipation of a new, largely declarative, school of thought that says that type itself is simply one aspect of many of a particular entity, an aspect that can in turn be abstracted. This notion finds its apeothesis in XML, where the underlying structure is generic, and the schema (its "type", more or less) is another XML structure that provides a set of conformance rules for a given XML "object", but the idea is still very much present in Javascript.

Indeed, in that regard I think the question comes back to the question of whether programming itself is an art or a science. The strong language advocates actually fall into the artistic side of the equation (as odd as that may sound), in that the supposition is that the programmer is more qualified to determine type structure and associations at a basic level than a computer is. Ten years ago, that may possibly have been true, though I think even then the balance was tilting in favor of the machine. Today, with multiple levels of abstractions, virtual machines, parallel processing systems, and the like, maybe one programmer in 10,000 could write code that would be more well optimized than what even an interpreter could do. This admittedly has more to do with dynamic typing than it does with weak vs. strong typing, but I believe its pertinent to both.

And yes, for clarification purposes:

A strongly typed language is one where all variables are explicitly typed and, save for potentially inherited objects that share that interface, cannot be redefined outside of that typing.

A weakly typed language, on the other hand, treats variables as generic containers which can hold any potential type of content, usually through a process of indirection under the hood to strongly typed content. As such it is a first order abstraction. Javascript in particular is weakly typed because it treats functional objects as generic entities that can also hold multiple potential structures (among other things).

A static language is one where the assignments of type are strictly maintained, while with a dynamic language the type can be modified on the fly. Again, looking at Javascript, this on the fly maintenance is manifested in the use of prototypes, which make it possible to change both instance and "class" structures on the fly. This makes it possible for Javascript to actually change the behavior of entities on the fly, a concept that no doubt makes purists shudder but which makes a great deal of sense in bound architectures such as those found in XUL, HTML, SVG, and so forth.

Finally, the title was not mine - it was from a post to me (and an arresting one at that), and had I been more awake, I would likely have quoted it directly. I appreciate the detailed commentary that you've made about the post, and promise one that will be done with just a shade more sleep under my belt shortly .

-- Kurt Cagle</description>
		<content:encoded><![CDATA[<p>Lloyd,</p>
<p>I feel properly taken to task. The comments are largely out of my control - they had been disabled for a while because the software that I used (hosted by a friend) was getting spambotted six ways to Sunday, and I was having to dig through ten poker advertisements for every one legitimate post. The friend in question is changing software, but hasn&#8217;t migrated to that particular section yet.</p>
<p>Concerning the Javascript article - I was operating with about an hour and a half of sleep from the previous night, and in all honesty was VERY surprised that the article was even written in a recognizable form of English after a full night of sleep thereafter. It&#8217;s NOT one of my more exemplary posts, though I&#8217;ve written worse (usually after even less sleep).</p>
<p>To the topic at hand:</p>
<p>Javascript is one of those topics which engender either great love or great hate, which to me is the sign that a language is sufficiently useful that people are willing to invest the time to become advocates or critics of that language. As with most such languages, its strengths are also its weaknesses, depending upon the viewpoint. </p>
<p>Javsacript is likely to be the first weakly typed language that programmers encounter. If they have been raised upon a diet of C++ and Java, this &#8220;weakness&#8221; - specifically the notion that the user should not in fact be more than peripherally aware of type - seems fundamentally wrong and contradictory, the sign of an &#8220;immature&#8221; language that should only be used by &#8220;non-programmers&#8221;. </p>
<p>I actually think its nothing of the sort, but is in fact an anticipation of a new, largely declarative, school of thought that says that type itself is simply one aspect of many of a particular entity, an aspect that can in turn be abstracted. This notion finds its apeothesis in XML, where the underlying structure is generic, and the schema (its &#8220;type&#8221;, more or less) is another XML structure that provides a set of conformance rules for a given XML &#8220;object&#8221;, but the idea is still very much present in Javascript.</p>
<p>Indeed, in that regard I think the question comes back to the question of whether programming itself is an art or a science. The strong language advocates actually fall into the artistic side of the equation (as odd as that may sound), in that the supposition is that the programmer is more qualified to determine type structure and associations at a basic level than a computer is. Ten years ago, that may possibly have been true, though I think even then the balance was tilting in favor of the machine. Today, with multiple levels of abstractions, virtual machines, parallel processing systems, and the like, maybe one programmer in 10,000 could write code that would be more well optimized than what even an interpreter could do. This admittedly has more to do with dynamic typing than it does with weak vs. strong typing, but I believe its pertinent to both.</p>
<p>And yes, for clarification purposes:</p>
<p>A strongly typed language is one where all variables are explicitly typed and, save for potentially inherited objects that share that interface, cannot be redefined outside of that typing.</p>
<p>A weakly typed language, on the other hand, treats variables as generic containers which can hold any potential type of content, usually through a process of indirection under the hood to strongly typed content. As such it is a first order abstraction. Javascript in particular is weakly typed because it treats functional objects as generic entities that can also hold multiple potential structures (among other things).</p>
<p>A static language is one where the assignments of type are strictly maintained, while with a dynamic language the type can be modified on the fly. Again, looking at Javascript, this on the fly maintenance is manifested in the use of prototypes, which make it possible to change both instance and &#8220;class&#8221; structures on the fly. This makes it possible for Javascript to actually change the behavior of entities on the fly, a concept that no doubt makes purists shudder but which makes a great deal of sense in bound architectures such as those found in XUL, HTML, SVG, and so forth.</p>
<p>Finally, the title was not mine - it was from a post to me (and an arresting one at that), and had I been more awake, I would likely have quoted it directly. I appreciate the detailed commentary that you&#8217;ve made about the post, and promise one that will be done with just a shade more sleep under my belt shortly .</p>
<p>&#8211; Kurt Cagle</p>
]]></content:encoded>
	</item>
</channel>
</rss>
