<?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: Cocoa Coding Practice: Old School vs New</title>
	<atom:link href="http://www.cimgf.com/2008/02/20/cocoa-coding-practice-old-school-vs-new/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cimgf.com/2008/02/20/cocoa-coding-practice-old-school-vs-new/</link>
	<description>Taglines are for Windows programmers</description>
	<lastBuildDate>Mon, 26 Jul 2010 16:50:30 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: gumoz</title>
		<link>http://www.cimgf.com/2008/02/20/cocoa-coding-practice-old-school-vs-new/comment-page-1/#comment-79</link>
		<dc:creator>gumoz</dc:creator>
		<pubDate>Wed, 19 Mar 2008 20:54:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/2008/02/20/cocoa-coding-practice-old-school-vs-new/#comment-79</guid>
		<description>&lt;p&gt;We does not use garbage collection in production code, in fact it is dumb to not release your memory, the garbage collector will not release the memory when you want to get it released. For heavy duty applications GC is not yet an option, and in fact if you want your code to be portable, don&#039;t use GC like for example: porting a class to the iphone. Or maybe porting it to another platform, also it is more difficult to use garbage collector on Core Foundation than standard destruct methods. Garbage Collector is there for neophyte programmers who do not know how to manage memory but have good ideas for new applications, fast prototyping, and heavy leaking applications (written by the neophytes). A good comparison of this kind of discussions search on google (LabView vs C) it is a similar discussion.&lt;/p&gt;

&lt;p&gt;for CF reference check:
http://developer.apple.com/documentation/Cocoa/Conceptual/GarbageCollection/Articles/gcCoreFoundation.html&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>We does not use garbage collection in production code, in fact it is dumb to not release your memory, the garbage collector will not release the memory when you want to get it released. For heavy duty applications GC is not yet an option, and in fact if you want your code to be portable, don&#8217;t use GC like for example: porting a class to the iphone. Or maybe porting it to another platform, also it is more difficult to use garbage collector on Core Foundation than standard destruct methods. Garbage Collector is there for neophyte programmers who do not know how to manage memory but have good ideas for new applications, fast prototyping, and heavy leaking applications (written by the neophytes). A good comparison of this kind of discussions search on google (LabView vs C) it is a similar discussion.</p>

<p>for CF reference check:
<a href="http://developer.apple.com/documentation/Cocoa/Conceptual/GarbageCollection/Articles/gcCoreFoundation.html" rel="nofollow">http://developer.apple.com/documentation/Cocoa/Conceptual/GarbageCollection/Articles/gcCoreFoundation.html</a></p>]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Long</title>
		<link>http://www.cimgf.com/2008/02/20/cocoa-coding-practice-old-school-vs-new/comment-page-1/#comment-39</link>
		<dc:creator>Matt Long</dc:creator>
		<pubDate>Fri, 07 Mar 2008 19:24:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/2008/02/20/cocoa-coding-practice-old-school-vs-new/#comment-39</guid>
		<description>&lt;p&gt;&lt;em&gt;Retracted&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I misunderstood the context. Sorry about that. -Matt&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p><em>Retracted</em></p>

<p>I misunderstood the context. Sorry about that. -Matt</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan</title>
		<link>http://www.cimgf.com/2008/02/20/cocoa-coding-practice-old-school-vs-new/comment-page-1/#comment-38</link>
		<dc:creator>Ryan</dc:creator>
		<pubDate>Fri, 07 Mar 2008 19:08:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/2008/02/20/cocoa-coding-practice-old-school-vs-new/#comment-38</guid>
		<description>&lt;p&gt;On the topic of &quot;garbage collection is the future,&quot;  I thought I would add something I found in the iPhone SDK samples today:&lt;/p&gt;

&lt;p&gt;&quot;Note: iPhone OS does not support memory management using the garbage collection feature that is in Mac OS X v10.5 and later.&quot;&lt;/p&gt;

&lt;p&gt;So apparently if you develop for the iPhone, garbage collection IS NOT the future.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://developer.apple.com/iphone/gettingstarted/docs/creatingiphoneapps.action;jsessionid=EF636612C9CC3FAD27E747A0C66866C0.worker7&quot; rel=&quot;nofollow&quot;&gt;http://developer.apple.com/iphone/gettingstarted/docs/creatingiphoneapps.action;jsessionid=EF636612C9CC3FAD27E747A0C66866C0.worker7&lt;/a&gt;&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>On the topic of &#8220;garbage collection is the future,&#8221;  I thought I would add something I found in the iPhone SDK samples today:</p>

<p>&#8220;Note: iPhone OS does not support memory management using the garbage collection feature that is in Mac OS X v10.5 and later.&#8221;</p>

<p>So apparently if you develop for the iPhone, garbage collection IS NOT the future.</p>

<p><a href="http://developer.apple.com/iphone/gettingstarted/docs/creatingiphoneapps.action;jsessionid=EF636612C9CC3FAD27E747A0C66866C0.worker7" rel="nofollow">http://developer.apple.com/iphone/gettingstarted/docs/creatingiphoneapps.action;jsessionid=EF636612C9CC3FAD27E747A0C66866C0.worker7</a></p>]]></content:encoded>
	</item>
	<item>
		<title>By: mmalc</title>
		<link>http://www.cimgf.com/2008/02/20/cocoa-coding-practice-old-school-vs-new/comment-page-1/#comment-12</link>
		<dc:creator>mmalc</dc:creator>
		<pubDate>Sun, 24 Feb 2008 05:17:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/2008/02/20/cocoa-coding-practice-old-school-vs-new/#comment-12</guid>
		<description>&lt;blockquote&gt;For the longer answer, we have to look at what Objective-C is synthesizing my @property(retain) NSURL *targetURL; into. The resulting setter for this property is something very similar to:&lt;/blockquote&gt;

&lt;p&gt;Actually the synthesised code is not similar to that shown. Since you didn&#039;t specify &lt;code&gt;nonatomic&lt;/code&gt; (as in, &lt;code&gt;@property(nonatomic , retain) NSURL *targetURL;&lt;/code&gt;), there will be a lock in there too. (And a &lt;code&gt;retain&lt;/code&gt;/&lt;code&gt;autorelease&lt;/code&gt; around the get accessor.  So invoking the accessor in &lt;code&gt;dealloc&lt;/code&gt; would be unnecessarily expensive.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<blockquote>For the longer answer, we have to look at what Objective-C is synthesizing my @property(retain) NSURL *targetURL; into. The resulting setter for this property is something very similar to:</blockquote>

<p>Actually the synthesised code is not similar to that shown. Since you didn&#8217;t specify <code>nonatomic</code> (as in, <code>@property(nonatomic , retain) NSURL *targetURL;</code>), there will be a lock in there too. (And a <code>retain</code>/<code>autorelease</code> around the get accessor.  So invoking the accessor in <code>dealloc</code> would be unnecessarily expensive.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: nevyn</title>
		<link>http://www.cimgf.com/2008/02/20/cocoa-coding-practice-old-school-vs-new/comment-page-1/#comment-5</link>
		<dc:creator>nevyn</dc:creator>
		<pubDate>Thu, 21 Feb 2008 10:29:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/2008/02/20/cocoa-coding-practice-old-school-vs-new/#comment-5</guid>
		<description>&lt;p&gt;If [self setVar:nil] crashes but [var release] doesn&#039;t, you&#039;re doing it wrong. Personally I like using self.var = nil; -- frees the memory, nulls the pointer /and/ the syntax is short and sweet.&lt;/p&gt;

&lt;p&gt;Also, saying that you saved two message calls in the destructor doing it your way is perhaps the most preoptimization-y thing I&#039;ve ever heard.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>If [self setVar:nil] crashes but [var release] doesn&#8217;t, you&#8217;re doing it wrong. Personally I like using self.var = nil; &#8212; frees the memory, nulls the pointer /and/ the syntax is short and sweet.</p>

<p>Also, saying that you saved two message calls in the destructor doing it your way is perhaps the most preoptimization-y thing I&#8217;ve ever heard.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Apple &#187; Cocoa Coding Practice: Old School vs New</title>
		<link>http://www.cimgf.com/2008/02/20/cocoa-coding-practice-old-school-vs-new/comment-page-1/#comment-4</link>
		<dc:creator>Apple &#187; Cocoa Coding Practice: Old School vs New</dc:creator>
		<pubDate>Wed, 20 Feb 2008 05:25:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/2008/02/20/cocoa-coding-practice-old-school-vs-new/#comment-4</guid>
		<description>&lt;p&gt;[...] Cocoa Is My Girlfriend wrote an interesting post today on Cocoa Coding Practice: Old School vs NewHere&#8217;s a quick excerptSince Apple was wise enough to make all of the memory calls no-ops with gc turned on it does not hurt anything to leave them in!&#8230; [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] Cocoa Is My Girlfriend wrote an interesting post today on Cocoa Coding Practice: Old School vs NewHere&#8217;s a quick excerptSince Apple was wise enough to make all of the memory calls no-ops with gc turned on it does not hurt anything to leave them in!&#8230; [...]</p>]]></content:encoded>
	</item>
</channel>
</rss>
