<?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: Closures in ActionScript</title>
	<atom:link href="http://flexblog.faratasystems.com/2006/12/04/closures-in-actionscript/feed" rel="self" type="application/rss+xml" />
	<link>http://flexblog.faratasystems.com/2006/12/04/closures-in-actionscript</link>
	<description>A blog about our experience with Adobe Flex</description>
	<lastBuildDate>Wed, 10 Mar 2010 17:11:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Anatole Tartakovsky</title>
		<link>http://flexblog.faratasystems.com/2006/12/04/closures-in-actionscript/comment-page-1#comment-866</link>
		<dc:creator>Anatole Tartakovsky</dc:creator>
		<pubDate>Tue, 05 Dec 2006 14:59:22 +0000</pubDate>
		<guid isPermaLink="false">http://flexblog.faratasystems.com/?p=125#comment-866</guid>
		<description>Jesse,
   I agree that closures have to be used very selectively. Incidently, yesterday I was explaining functions and closures to developers with &quot;mix&quot; of skills. It was very interesting to see that developers have been using closures in strongly typed environment to solve the problems of language limitations for 15 years without knowing it (thanks to the alternative syntaxes provided by older languages). And closures can solve multiple inheritance and API consistency issues much better then religious implementation of interfaces (a la mixins, with better syntax support from the language). 
   As far as large applications - strong typing is both blessing and problem - compile time, size and retesting of monolitic applications are just few items you do not want to take majority of your time. We design our applications &quot;for a change&quot; (literaly) and dynamic techniques come very handy. Here is an example that has been published with the book/articles that illustrates the point:
http://samples.faratasystems.com/AdvancedDataGrid/PropertyBagDemo.html
itemRenderer for the grid on the left is ClassFactory - essentially newInstance function returning classes. it is overridable, extensible and can be applied to the enterprise dictionary that would contain resources like standardized properties for UI elements shown.  In dynamic environment usage of the classes functions and factories becomes a murky data driven business.

Sincerely,
Anatole</description>
		<content:encoded><![CDATA[<p>Jesse,<br />
   I agree that closures have to be used very selectively. Incidently, yesterday I was explaining functions and closures to developers with &#8220;mix&#8221; of skills. It was very interesting to see that developers have been using closures in strongly typed environment to solve the problems of language limitations for 15 years without knowing it (thanks to the alternative syntaxes provided by older languages). And closures can solve multiple inheritance and API consistency issues much better then religious implementation of interfaces (a la mixins, with better syntax support from the language).<br />
   As far as large applications &#8211; strong typing is both blessing and problem &#8211; compile time, size and retesting of monolitic applications are just few items you do not want to take majority of your time. We design our applications &#8220;for a change&#8221; (literaly) and dynamic techniques come very handy. Here is an example that has been published with the book/articles that illustrates the point:<br />
<a href="http://samples.faratasystems.com/AdvancedDataGrid/PropertyBagDemo.html" rel="nofollow">http://samples.faratasystems.com/AdvancedDataGrid/PropertyBagDemo.html</a><br />
itemRenderer for the grid on the left is ClassFactory &#8211; essentially newInstance function returning classes. it is overridable, extensible and can be applied to the enterprise dictionary that would contain resources like standardized properties for UI elements shown.  In dynamic environment usage of the classes functions and factories becomes a murky data driven business.</p>
<p>Sincerely,<br />
Anatole</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JesterXL</title>
		<link>http://flexblog.faratasystems.com/2006/12/04/closures-in-actionscript/comment-page-1#comment-862</link>
		<dc:creator>JesterXL</dc:creator>
		<pubDate>Tue, 05 Dec 2006 03:34:35 +0000</pubDate>
		<guid isPermaLink="false">http://flexblog.faratasystems.com/?p=125#comment-862</guid>
		<description>Ok, so before I get verbally bashed, yes, I know you can strongly-type a closure, both as the function it is, as well as it&#039;s parameters and contents.  However, that&#039;s just making an optimized code-mess.</description>
		<content:encoded><![CDATA[<p>Ok, so before I get verbally bashed, yes, I know you can strongly-type a closure, both as the function it is, as well as it&#8217;s parameters and contents.  However, that&#8217;s just making an optimized code-mess.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JesterXL</title>
		<link>http://flexblog.faratasystems.com/2006/12/04/closures-in-actionscript/comment-page-1#comment-861</link>
		<dc:creator>JesterXL</dc:creator>
		<pubDate>Tue, 05 Dec 2006 03:30:02 +0000</pubDate>
		<guid isPermaLink="false">http://flexblog.faratasystems.com/?p=125#comment-861</guid>
		<description>Closures were fun in AS1, and life savers when doing AS2 projects under a tight deadline.

AS3?  ... see AS2.  To me, they are hacks to get stuff done.  Otherwise, they should not be used as they make code un-readble.  While I understand their usage (although, not their memory ramifications), to me they have a single use case.  Like __resovle, Function.apply, or the dynamic keyword, their use cases are extremely unique, but important enought to be nice to haves in the language implementation.

Regardless, I feel like all these Java devs are &quot;discovering&quot; the joy loosely typed languages, just as I start to appreciate what strong-typing can really bring to a large project.</description>
		<content:encoded><![CDATA[<p>Closures were fun in AS1, and life savers when doing AS2 projects under a tight deadline.</p>
<p>AS3?  &#8230; see AS2.  To me, they are hacks to get stuff done.  Otherwise, they should not be used as they make code un-readble.  While I understand their usage (although, not their memory ramifications), to me they have a single use case.  Like __resovle, Function.apply, or the dynamic keyword, their use cases are extremely unique, but important enought to be nice to haves in the language implementation.</p>
<p>Regardless, I feel like all these Java devs are &#8220;discovering&#8221; the joy loosely typed languages, just as I start to appreciate what strong-typing can really bring to a large project.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
