<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Daydream Blog &#187; Cocoa</title>
	<atom:link href="http://www.daytimesoftware.com/blog/tag/cocoa/feed" rel="self" type="application/rss+xml" />
	<link>http://www.daytimesoftware.com/blog</link>
	<description>The official blog of DayTime Software</description>
	<lastBuildDate>Mon, 29 Nov 2010 20:29:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Unlearning Cocoa</title>
		<link>http://www.daytimesoftware.com/blog/2008/07/unlearning-cocoa</link>
		<comments>http://www.daytimesoftware.com/blog/2008/07/unlearning-cocoa#comments</comments>
		<pubDate>Wed, 09 Jul 2008 10:37:39 +0000</pubDate>
		<dc:creator>Sanjay Samani</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.daytimesoftware.com/blog/?p=87</guid>
		<description><![CDATA[Note this article is intended for developers and may be of limited interest to our wider client base. Kevin Hoffman has given a critique of the now infamous criticism of iPhone development. (Another Microsoft Developer Falls Victim to Framework Myopia [The .NET Addict's Blog]) The key points in Kevin&#8217;s post are his explanation of how [...]]]></description>
			<content:encoded><![CDATA[<p><em>Note this article is intended for developers and may be of limited interest to our wider client base.</em></p>
<p>Kevin Hoffman has given a critique of the now infamous criticism of iPhone development.  (<a href="http://dotnetaddict.dotnetdevelopersjournal.com/iphone_sdk_negative_response.htm">Another Microsoft Developer Falls Victim to Framework Myopia [The .NET Addict's Blog]</a>)</p>
<p>The key points in Kevin&#8217;s post are his explanation of how experienced Windows developers should handle their migration to Mac or iPhone development.  It reminded me of a post I&#8217;ve been planning to write for a long time that most easily be summarised as:</p>
<p>To learn Cocoa, you must un-learn your past development experience.</p>
<p>Cocoa assumes an MVC paradigm.  Interface Builder and NIB&#8217;s are very weird compared to other approaches.  The frameworks are heavily designed for sub-classing to create your own behaviour, rather than having lots of settings to tweak behaviour.</p>
<p>Every time you try to learn a new aspect of Cocoa, you find yourself struggling to do something that feels like the &#8220;right way&#8221;.  A few days later you come out with 3 lines of code that feel completely natural but felt incredibly painful to reach.  You will be met with countless, &#8220;aaah, that&#8217;s how it works and it makes complete sense&#8221; moments.  You spend days wondering why this bit of Cocoa is so gnarly, and seemingly unintuitive, until you reach another moment of understanding.</p>
<p>People often say that Cocoa has a steep learning curve.  It does not.  It has a steep un-learning curve, followed by a gentle re-learning curve.  Getting yourself out of your previous development mind set can make the whole experience a lot more pleasant.</p>
<p>What is disappointing is that none of the documentation or tutorials spend much time comparing and contrasting with other approaches, that would make the process of unlearning easier. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.daytimesoftware.com/blog/2008/07/unlearning-cocoa/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

