<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:admin="http://webns.net/mvcb/"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
	<channel> 

	<title>Comments on: Help a 98 lb weakling develop into a Mac programmer with Cocoa-fu.</title>
	<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu/</link>
	<description>Comments on Ask MetaFilter post Help a 98 lb weakling develop into a Mac programmer with Cocoa-fu.</description>
	<pubDate>Thu, 22 Sep 2005 16:45:32 -0800</pubDate>
	<lastBuildDate>Thu, 22 Sep 2005 16:45:32 -0800</lastBuildDate>
	<language>en-us</language>
	<docs>http://blogs.law.harvard.edu/tech/rss</docs>
	<ttl>60</ttl>

	<item>
		<title>Question: Help a 98 lb weakling develop into a Mac programmer with Cocoa-fu.</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu</link>	
		<description>I would like to learn to program for Mac OS X, and Cocoa seems to be the way to go. Considering most of the documentation and books I&apos;ve picked up say things like, &quot;since this book is about Cocoa, we assume you know Objective-C,&quot; and the Objective-C books assume I already know C... What&apos;s the best path for a beginner like myself to progress from knowing nothing, to actually programming using Cocoa on Mac OS X? &lt;br /&gt;&lt;br /&gt; I did some BASIC programming on my ATARI 800, and later in high school, but that was more than a decade ago. So, I understand some basic programming concepts, but anything beyond that, treat me as a newbie. An additional consideration-- if I&apos;m only going to be using Objective-C, is there any resource that will teach me that language as a whole without mucking about with the parts of ANSI-C I&apos;ll never use? ...or is that not a good way to go?</description>
		<guid isPermaLink="false">post:ask.metafilter.com,2005:site.24432</guid>
		<pubDate>Thu, 22 Sep 2005 16:05:12 -0800</pubDate>
		<dc:creator>mboszko</dc:creator>
		
			<category>mac</category>
		
			<category>macintosh</category>
		
			<category>programming</category>
		
			<category>cocoa</category>
		
			<category>objectivec</category>
		
			<category>ansic</category>
		
	</item> <item>
		<title>By: Wolfdog</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#387949</link>	
		<description>I&apos;m sure you&apos;ll get opinions on both sides of this issue, but I&apos;d encourage you to start your journey with just Objective C, your favorite text editor, and the command line.  Kochan&apos;s &lt;i&gt;&lt;a href=&quot;http://www.amazon.com/exec/obidos/tg/detail/-/0672325861/qid=1127432377/sr=8-1/ref=sr_8_xs_ap_i1_xgl14/102-9588210-8199303?v=glance&amp;s=books&amp;n=507846&quot;&gt;Programming in Objective-C&lt;/a&gt;&lt;/i&gt; book takes this approach; I&apos;m sure you&apos;ve seen it, it&apos;s one of the standards.  &lt;br&gt;
&lt;br&gt;
Kochan&apos;s book is supposed to be self-contained, but inevitably there&apos;s a tiny amount of assumed knowledge that creeps in.  Don&apos;t worry, you can pick those things up as you go along, or ask someone if there&apos;s a sticking point, or pick up any of a million C textbooks.  You might feel like you&apos;re missing out, sometimes, but on the other hand you will also be missing out on a lot of baggage that C programmers bring along that doesn&apos;t really fit the Obj-C way of thinking.&lt;br&gt;
&lt;br&gt;
Trying to fight your way through the bare bones of the language AND a massive IDE (XCode) AND Project Builder AND all the frameworks you need for nifty GUI stuff is too much simultaneously, and also robs you of some intuition.  So, make sure you can write, compile, and execute some bare bones programs right at the command line before you plunge into the Cocoa half of it.  It greatly demystifies the whole process and it&apos;ll do a lot to help you diagnose where errors are coming from when you&apos;re immersed in a big Cocoa project.&lt;br&gt;
&lt;br&gt;
Objective-C is really a beautiful, small, and simple language that you really can learn thoroughly in a short time, unlike some other popular object oriented languages named after letters of the alphabet.  Kochan&apos;s book is good, and the &lt;a href=&quot;http://groups.google.com/group/comp.lang.objective-c?lnk=oa&amp;hl=en&quot;&gt;comp.lang.objective-c&lt;/a&gt; group is a pretty friendly, helpful place.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-387949</guid>
		<pubDate>Thu, 22 Sep 2005 16:45:32 -0800</pubDate>
		<dc:creator>Wolfdog</dc:creator>
	</item><item>
		<title>By: chrismear</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#387950</link>	
		<description>I found &lt;a href=&quot;http://www.bignerdranch.com/products/cocoa1.shtml&quot;&gt;&apos;Cocoa Programming for Mac OS X&apos; by Aaron Hillegass&lt;/a&gt; a great introduction to Cocoa and Objective-C. It assumes you know a bit of C syntax, but to be honest it&apos;s nothing that you can&apos;t figure out from context.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-387950</guid>
		<pubDate>Thu, 22 Sep 2005 16:48:33 -0800</pubDate>
		<dc:creator>chrismear</dc:creator>
	</item><item>
		<title>By: bpt</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#387952</link>	
		<description>The &lt;a href=&quot;http://www.cocoadev.com/&quot;&gt;CocoaDev&lt;/a&gt; wiki is a great resource for OS X programming. It includes links to introductory Cocoa and ObjC resources (e.g. &lt;a href=&quot;http://www.cocoadev.com/index.pl?CocoaIntroduction&quot;&gt;CocoaIntroduction&lt;/a&gt;). &lt;br&gt;
&lt;br&gt;
&lt;small&gt;You don&apos;t necessarily have to use Objective-C for Cocoa programming. Many languages have &lt;a href=&quot;&lt;a href=&quot; http://www.fscript.org/links.htm&gt;Objective-C bridges&lt;/a&gt; so that one can use Cocoa to write applications in one&apos;s favourite language. I know that at least Python&apos;s and OpenMCL&apos;s Cocoa bridges work fairly well.&lt;/small&gt;</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-387952</guid>
		<pubDate>Thu, 22 Sep 2005 16:56:02 -0800</pubDate>
		<dc:creator>bpt</dc:creator>
	</item><item>
		<title>By: Wolfdog</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#387961</link>	
		<description>I certainly second Hillegass for the Cocoa part of things.  I&apos;m not sure what bpt was trying to link to with the &apos;Objective-C bridges&apos;, but if you&apos;re coming at this with a blank slate, Objective-C is the way to go.  If you already had some language you were in love with then it might be worth figuring out how to use it with Cocoa.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-387961</guid>
		<pubDate>Thu, 22 Sep 2005 17:04:18 -0800</pubDate>
		<dc:creator>Wolfdog</dc:creator>
	</item><item>
		<title>By: devilsbrigade</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#387966</link>	
		<description>I&apos;d very strongly suggest using Python or C++ instead of Obj-C. My personal bias (C/C++ coder) is that Obj-C is an unelegant steaming pile of hacks that only was included in OSX because of NeXT. My main complaint is that ObjC tries to merge two languages instead of extending C, like C++ does. If you don&apos;t like C syntax, why use C at all?</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-387966</guid>
		<pubDate>Thu, 22 Sep 2005 17:12:36 -0800</pubDate>
		<dc:creator>devilsbrigade</dc:creator>
	</item><item>
		<title>By: schwa</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#387967</link>	
		<description>You really need to be a strong C programmer before learning Objective-C. All the C principles that you would use as a C programmer are present in Objective-C and you will use them on a daily basis.&lt;br&gt;
&lt;br&gt;
I would definitely start with a good lightweight C text book and get to know the language. It will also give you a good foundation that will help you with other languages. Avoid Objective-C, or for that matter anything outside of the standard C libraries until you gain confidence with the language.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-387967</guid>
		<pubDate>Thu, 22 Sep 2005 17:14:26 -0800</pubDate>
		<dc:creator>schwa</dc:creator>
	</item><item>
		<title>By: schwa</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#387974</link>	
		<description>&lt;a href=&quot;http://www.metafilter.com/user/24087&quot;&gt;devilsbrigade&lt;/a&gt;: &lt;i&gt;&quot;unelegant steaming pile of hacks that only was included in OSX because of NeXT&quot;&lt;/i&gt;&lt;br&gt;
&lt;br&gt;
And yet look at all the cool new applications written in Cocoa that we&apos;re getting on Mac OS X? And look how crappy a lot of the old Carbon C/C++ feel when compared side by side?&lt;br&gt;
&lt;br&gt;
Cocoa isn&apos;t just about the Objective-C language. It is also a very rich and powerful framework that gets so many things right and without any of the cruft that C++ requires. Programming in Cocoa is a joy. I used to be a fulltime hardcore C++ developer and ever since switching to Objective-C I&apos;m finding I am at least twice as productive. Coding with Objective-C is a pleasure, with C++ it rapidly becamee a chore.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-387974</guid>
		<pubDate>Thu, 22 Sep 2005 17:21:13 -0800</pubDate>
		<dc:creator>schwa</dc:creator>
	</item><item>
		<title>By: wheat</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#387976</link>	
		<description>If you&apos;d like to get your feet wet in C, I&apos;ve found &lt;a href=&quot;http://www.eskimo.com/~scs/cclass/cclass.html&quot;&gt;this tuturial&lt;/a&gt; handy.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-387976</guid>
		<pubDate>Thu, 22 Sep 2005 17:21:50 -0800</pubDate>
		<dc:creator>wheat</dc:creator>
	</item><item>
		<title>By: Popular Ethics</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#387986</link>	
		<description>C is a royal pain in the ass for newbies, and objective C just adds another layer to understand.  &lt;a href=&quot;http://diveintopython.org/toc/index.html&quot;&gt;Python&lt;/a&gt;, by contrast is very pleasant to learn and use.  With &lt;a href=&quot;http://pyobjc.sourceforge.net/doc/index.php&quot;&gt;the pyObjC bridge&lt;/a&gt; and &lt;a href=&quot;http://undefined.org/python/py2app.html&quot;&gt;py2app&lt;/a&gt; your app will be just as &apos;native&apos; as any other.&lt;br&gt;
&lt;br&gt;
&lt;em&gt;*But*&lt;/em&gt; since pyObjC just translates python to objective C,  you will have to refer to Apple&apos;s documentation for the details of each method.  Apple&apos;s docs reference Objective-C, so you will have to be constantly doing mental translation, which means you&apos;ll have to teach yourself a bit of Objective-C anyway.   This might be a good way to get started though.&lt;br&gt;
&lt;br&gt;
Another option is to use &lt;a href=&quot;http://wxpython.org/tutorial.php&quot;&gt;the wxPython&lt;/a&gt; gui library.  The downside that this calls the carbon api, so you won&apos;t be able to take advantage of some of Cocoa&apos;s niceties.    The upside is your app will be completely cross platform.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-387986</guid>
		<pubDate>Thu, 22 Sep 2005 17:34:49 -0800</pubDate>
		<dc:creator>Popular Ethics</dc:creator>
	</item><item>
		<title>By: Wolfdog</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#387990</link>	
		<description>That&apos;s fantastic.  &quot;Don&apos;t learn objective C, it&apos;s an &lt;i&gt;extra layer&lt;/i&gt;.  Instead, learn Python.  And learn a system for turning python into Objective C.  And, incidentally, you&apos;ll have to learn Objective C while you&apos;re at it.&quot;&lt;br&gt;
&lt;br&gt;
&lt;b&gt;mboszko&lt;/b&gt;, good luck, and enjoy what is likely to be a doozy of a thread here.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-387990</guid>
		<pubDate>Thu, 22 Sep 2005 17:43:15 -0800</pubDate>
		<dc:creator>Wolfdog</dc:creator>
	</item><item>
		<title>By: cyrusdogstar</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#388005</link>	
		<description>As someone currently struggling through Cocoa via PyObjC, and who is by no means a programming neophyte, I have to say it&apos;s &lt;b&gt;probably&lt;/b&gt; easier to go the &quot;direct&quot; route and learn Objective-C and Cocoa together, via the books mentioned above (specifically Hillegass&apos;, as it gets tons of love everywhere I look).&lt;br&gt;
&lt;br&gt;
That said, once you feel somewhat comfortable reading Objective-C syntax and how to do things with it and Cocoa, Python &lt;b&gt;is&lt;/b&gt; an excellent language and is probably going to be more useful overall than Objective-C...so if you&apos;re not burned out by the time you find yourself making simplish-to-mildly-complicated apps with ObjC, I&apos;d definitely suggest picking up Python and then using the PyObjC bridge.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-388005</guid>
		<pubDate>Thu, 22 Sep 2005 18:08:37 -0800</pubDate>
		<dc:creator>cyrusdogstar</dc:creator>
	</item><item>
		<title>By: Popular Ethics</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#388012</link>	
		<description>&lt;small&gt;&lt;i&gt;&lt;b&gt;Wolfdog:&lt;/b&gt; That&apos;s fantastic. &quot;Don&apos;t learn objective C, it&apos;s an extra layer. Instead, learn Python. And learn a system for turning python into Objective C. And, incidentally, you&apos;ll have to learn Objective C while you&apos;re at it.&quot;&lt;/i&gt;&lt;/small&gt;&lt;br&gt;
&lt;br&gt;
Oh hey, I fully realize the incongruity, that&apos;s why I pointed it out.  I&apos;m just suggesting some other avenues.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-388012</guid>
		<pubDate>Thu, 22 Sep 2005 18:16:19 -0800</pubDate>
		<dc:creator>Popular Ethics</dc:creator>
	</item><item>
		<title>By: zerolives</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#388017</link>	
		<description>The worst part about programming is the programming. It&apos;s immensely simple to read lots of books and copy and paste some code from a tutorial, but actually sitting down and writing something is what tends to ruin an otherwise good learning experience.&lt;br&gt;
&lt;br&gt;
My advice is this: Just code. It&apos;s the only way to learn. Personally, I&apos;m a horrible procrastinator. I&apos;ve asked the same question you asked in this thread a million times, and in all honestly, there is no good answer. Learn some C (or really any other programming language. Once you know one it is very simple to move around) and sit around coding some stuff in the simplest way possible.&lt;br&gt;
&lt;br&gt;
Once you&apos;re comfortable with sitting down and coding (and the inevitable forays deep into documentation territory) then try checking out some Obj-C tutorials. It&apos;s not any easier &quot;just learning&quot; Objective C any more than it is to &quot;just learn&quot; to ride a motorcycle if you&apos;ve never ridden a pedal bike.&lt;br&gt;
&lt;br&gt;
You need balance, and the best way to get that is to just write code.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-388017</guid>
		<pubDate>Thu, 22 Sep 2005 18:23:15 -0800</pubDate>
		<dc:creator>zerolives</dc:creator>
	</item><item>
		<title>By: five fresh fish</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#388079</link>	
		<description>Screw C/C++/ObjC.  Go with Python.  You will not regret it.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-388079</guid>
		<pubDate>Thu, 22 Sep 2005 19:57:26 -0800</pubDate>
		<dc:creator>five fresh fish</dc:creator>
	</item><item>
		<title>By: Popular Ethics</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#388083</link>	
		<description>Another note:  XCode is very easy to use and free, but its optimised for use with Objective-C. &lt;small&gt; &lt;small&gt;(for Python I use &lt;a href=&quot;http://www.barebones.com/products/textwrangler/index.shtml&quot;&gt;TextWrangler&lt;/a&gt;)&lt;/small&gt;&lt;/small&gt;&lt;br&gt;
&lt;br&gt;
To answer your actual question though, I&apos;m trying to find a book like the &lt;a href=&quot;http://www.deitel.com/books/cHTP4/images/chtp4_large.png&quot;&gt;one&lt;/a&gt; I used to teach myself C++.  It was especially useful, because it had chapters for C, C++ then Java, and described how each built upon its predecessor.  I&apos;ll keep looking.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-388083</guid>
		<pubDate>Thu, 22 Sep 2005 20:14:52 -0800</pubDate>
		<dc:creator>Popular Ethics</dc:creator>
	</item><item>
		<title>By: Popular Ethics</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#388088</link>	
		<description>The book that Wolfdog linked to &lt;a href=&quot;http://www.programmertutorials.com/0672325861/Programming_in_Objective-C.html&quot;&gt;gets some rave reviews here&lt;/a&gt;, including this:  &lt;br&gt;
&lt;i&gt;&quot;At last! At Last!  A book on programming Objective C that doesn&apos;t require you to know C first!&quot;&lt;/i&gt;&lt;br&gt;
&lt;br&gt;
I think zerolives has a point, but personally I like to have a tutorial when I&apos;m starting out.  Just make sure to stop at the end of each chapter and try to implement what you&apos;ve learned, rather than just trying to commit it all to memory.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-388088</guid>
		<pubDate>Thu, 22 Sep 2005 20:35:24 -0800</pubDate>
		<dc:creator>Popular Ethics</dc:creator>
	</item><item>
		<title>By: kindall</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#388126</link>	
		<description>&lt;i&gt;And yet look at all the cool new applications written in Cocoa that we&apos;re getting on Mac OS X? And look how crappy a lot of the old Carbon C/C++ feel when compared side by side?&lt;/i&gt;&lt;br&gt;
&lt;br&gt;
That&apos;s not because Cocoa magically makes apps that look soooooo much better. It&apos;s because there are a lot of legacy UI resources in Carbon apps, since many of them are longtime Mac OS X applications. You could write a new Carbon app that&apos;s just as snazzy as any Cocoa app.&lt;br&gt;
&lt;br&gt;
Still, Cocoa is going to be easier to learn than all the legacy cruft in Carbon, and Carbon will eventually go away, so yeah, learn Cocoa, Objective-C and all.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-388126</guid>
		<pubDate>Thu, 22 Sep 2005 22:31:08 -0800</pubDate>
		<dc:creator>kindall</dc:creator>
	</item><item>
		<title>By: mboszko</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#388135</link>	
		<description>Wow, what a slew of answers, and so many conflicting ones! ;-)&lt;br&gt;
&lt;br&gt;
At the moment, I have a goal in mind that involves wanting to use Objective-C with Cocoa. Using Python or some other language with a bridge to ObjC seems like learning Chinese and hiring a translator, when what I really want to do is to just speak Russian. Thanks for the plugs, though. Maybe once I&apos;m comfortable with ObjC, I&apos;ll have the time and inclination to branch out to other languages. For now, though, I think it would only slow the learning process.&lt;br&gt;
&lt;br&gt;
Hillegass&apos; book was one of those I&apos;ve looked at (in addition to the O&apos;Reilly &quot;Learning Cocoa&quot; book), but says it&apos;s designed for &quot;programmers who already know some C programming and something about objects.&quot; Since my previous experience is with BASIC, neither of those qualifications applies. I consider myself a pretty fast learner, and quite possibly could eventually learn from context and inference, but I think I&apos;ll progress faster if I have a clear path in front of me. If the Kochan book really does introduce ObjC from the bottom up, and introduces concepts necessary for object-oriented programming, that seems like maybe the place I should start. Hillegass&apos; Cocoa book does seem like the next logical step after I&apos;ve familiarized myself with the language.&lt;br&gt;
&lt;br&gt;
Thanks for all the answers so far, folks. Please feel free to post more comments, though. Especially those of you that feel I should get a good handle on C before moving to ObjC-- what is it exactly that you feel I&apos;ll be missing by not learning C first? Do you have any evidence of programmers who&apos;ve skipped that step that you feel now code in inappropriate ways?</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-388135</guid>
		<pubDate>Thu, 22 Sep 2005 22:55:50 -0800</pubDate>
		<dc:creator>mboszko</dc:creator>
	</item><item>
		<title>By: freebird</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#388139</link>	
		<description>Well, bear in mind that you don&apos;t have to do all that wierd Python to ObjC stuff to do Python. OSX includes a normal python with every distribution, and it&apos;s a joy to learn Python. Also, Apple includes bindings to its CoreGraphics library, which is nice in and of itself, but also starts you toward coding Mac specific stuff. There&apos;s also some stuff to call AppleScript from Python, but honestly, I just use Python by itself.&lt;br&gt;
&lt;br&gt;
What&apos;s your project that requires Objective-C? It&apos;s quite likely there are other ways to do it...</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-388139</guid>
		<pubDate>Thu, 22 Sep 2005 23:25:28 -0800</pubDate>
		<dc:creator>freebird</dc:creator>
	</item><item>
		<title>By: Popular Ethics</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#388180</link>	
		<description>&lt;i&gt;what is it exactly that you feel I&apos;ll be missing by not learning C first?&lt;/i&gt;&lt;br&gt;
Objective-C has replacements for most of the deficiencies of  C, so you probably won&apos;t suffer too much, except those books will expect you to know the syntax (which isn&apos;t difficult to pick up anyway)&lt;br&gt;
&lt;br&gt;
However, since ObjC is a superset of C, those warts will often show up (usually in code from old C gurus).  I&apos;m thinking things like memory management, pointers, casting, and (horror) C strings.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-388180</guid>
		<pubDate>Fri, 23 Sep 2005 07:01:37 -0800</pubDate>
		<dc:creator>Popular Ethics</dc:creator>
	</item><item>
		<title>By: Popular Ethics</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#388182</link>	
		<description>And I hope by plugging Python we don&apos;t sound too evangelical.  Objective-C is a perfectly fine language, is well supported by Apple&apos;s tools, and is &lt;em&gt;waaaay&lt;/em&gt; nicer than C++.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-388182</guid>
		<pubDate>Fri, 23 Sep 2005 07:03:14 -0800</pubDate>
		<dc:creator>Popular Ethics</dc:creator>
	</item><item>
		<title>By: cillit bang</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#388288</link>	
		<description>You need to know your way around C to do anything with Objective-C. Basic datatypes, pointers, arithmetic, function calls, etc. You don&apos;t need to know C memory allocation, but that&apos;s about it.  Debugging is much much easier when you know that objects are structs in memory, object references are pointers, and object messages are just fancy function calls. I found a lot of Objective-C impossible to understand until I realised what was happening underneath.&lt;br&gt;
&lt;br&gt;
(And at one time or another, you&apos;ll be forced to use a Carbon API to do something, and knowing C here is required)</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-388288</guid>
		<pubDate>Fri, 23 Sep 2005 10:35:14 -0800</pubDate>
		<dc:creator>cillit bang</dc:creator>
	</item><item>
		<title>By: mboszko</title>
		<link>http://ask.metafilter.com/24432/Help-a-98-lb-weakling-develop-into-a-Mac-programmer-with-Cocoafu#388366</link>	
		<description>Well, right, but the Kochan book (I picked it up today) does include information about basic datatypes, arethmetic, function calls, as they apply to both C and ObjC-- and there&apos;s even a chapter (#13) on &quot;Underlying C Language Features,&quot; dealing with arrays, functions, structures, pointers, unions, etc.&lt;br&gt;
&lt;br&gt;
In fact, the opening sentences are, &quot;This chapter describes features of the Objective-C language that you don&apos;t necessarily need to know to write Objective-C programs. In fact, most of these come from the underlying C programming language.&quot; It then goes on to recommend you skim over it to get an overview of the material, but then warns that because C is a procedural language, some of that chapter&apos;s features go against the grain of object-oriented programming.&lt;br&gt;
&lt;br&gt;
It seems to me that with this book, I&apos;ll be learning what I need to know to use ObjC thoroughly, without all that tedious mucking about learning language features I&apos;ll rarely (if ever) need, and a procedural programming style I&apos;ll have to unlearn when I move on to ObjC. It seems if I can learn ObjC and start using it well, when I get to the point I need to use a C and a Carbon API to do something, I&apos;ll be more comfortable with &quot;just figuring it out.&quot; Getting into it, though, I&apos;d much rather learn OOP the right way &apos;round the first time.&lt;br&gt;
&lt;br&gt;
I did take a &lt;a href=&quot;http://developer.apple.com/cocoa/pyobjc.html&quot;&gt;closer look&lt;/a&gt; at Python &amp;amp; Cocoa, and it looks intriguing. I still think I&apos;m going to stick with ObjC for now, but I&apos;ll definitely keep that in mind for future research. It just seems to me that knowing ObjC will serve me better in understanding the Foundation and AppKit frameworks, and getting up to speed with Cocoa.&lt;br&gt;
&lt;br&gt;
How many of you learned ObjC as your first &apos;real&apos; language? I&apos;m just curious to know, as I have a suspicion that the folks who are recommending I learn C first are speaking from their experience of learning C first, and are maybe not being as objective as they could. ;-)</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2005:site.24432-388366</guid>
		<pubDate>Fri, 23 Sep 2005 11:40:26 -0800</pubDate>
		<dc:creator>mboszko</dc:creator>
	</item>
	</channel>
</rss>
