Filed under: Analysis / Opinion, Software, Odds and ends, Developer
The iPhone is a platform for coding newbies
I love hearing this about the iPhone: the San Francisco Chronicle has a piece about how Apple's little revolutionary telephone has brought a whole new crop of programmers into the development mix. People who had never before looked at code or considered writing their own applications are getting ideas about how to make better software, picking up Cocoa and Xcode books, and going to town. And strangely, we might actually have fart apps to thank for this -- people aren't just seeing the iPhone as an innovative platform, but they're seeing the App Store as an "anything goes" environment, where even their silly little idea might work.I don't know if we can pin all the credit for the burgeoning iPhone development scene on fart apps and the impression that even a monkey can make bestselling iPhone software (certainly Apple has set the bar and price for entry pretty low, both with the extremely cheap $100 fee for a developer account as well as the high quality Xcode software that comes on every Mac), but there is definitely something in this little device that's driving people to try and create their own software for it.
Oh, and the money probably helps, too. Still, whether people are taking up iPhone development because they want to make millions or are just looking for another hobby, it's us, app consumers, who will benefit.

![TUAW [Cafepress]](http://www.blogsmithmedia.com/www.tuaw.com/media/tuaw-cafepress-promo.png)


Reader Comments (Page 1 of 2)
Joid said 6:33PM on 4-27-2009
True, true, true!
As a matter of fact, my head is at this moment a little dazzling with codes. I'm busy with Masters of the Void http://www.masters-of-the-void.com A great tut for understanding C.
As soon as C is getting familiar for me, I'm heading over to http://cocoadevcentral.com/
I do have some ideas for some apps. For me its just a new thing that I want to explore. And dreaming about making that killah-app which brings in a shipload of money, is fairly a good stimuli.
Reply
Joid said 6:36PM on 4-27-2009
No, it's not a fart/burp/vomit/laugh/gunshot/etc app
Anderson said 8:06PM on 4-27-2009
I've never seen www.mastersofthevoid.com before but seems to be written in an approachable way and the the site has a simple and pleasing design. It's awesome that there are so many easy ways to learn these days. I learned most of C from the K&R "C Programming" book (while it is very comprehensive it is rather dry at times) and most importantly, practice.
hans said 12:08PM on 4-28-2009
Sorry, but I can only condemn a learning course that promotes "YES, NO, FILE_NOT_FOUND" enums...
It seems like a nice tutorial to learn the language and IDE, but it also seems to have a couple of thedailywtf-worthy material :/ Take and leave.
Anderson said 9:27PM on 4-28-2009
@hans: I didn't get that far with it. At first glance it seemed like a pretty easy to understand tutorial of basic C concepts
q00p said 2:03AM on 4-30-2009
Thanks for the tip!
timepilot84 said 7:32PM on 4-27-2009
Objective C is a great language... in 1989. There's a reason why so many applications on iTunes crash regularly and suffer from performance issues. Objective C is a difficult language to deal with. With no garbage collection, you're just begging newbies to create monstrous memory leaks, which account for most of the unexplained application shutdowns that occur regularly with the iPhone. Heck, Webkit shuts down unceremoniously due to lack of memory and that was written by people who really should know better. And new programmers are expected to be able to juggle system resources? Good thing Apple isn't keeping applications out of iTunes for being buggy.
Reply
Anderson said 8:07PM on 4-27-2009
Unfortunately, with the bare minimum of RAM available in current iPhones, garbage collection isn't really a viable option right now. This requires even more diligence in conserving memory, however, the retain/release mechanism is so much easier than traditional memory management. And as for Objective-C being a difficult language to deal with, most people with any experience with it, seem to really enjoy the more natural language.
Macskeeball said 8:05PM on 4-27-2009
Maybe it's not in OS X mobile, but I thought I read somewhere that one of the additions to Leopard was Objective-C 2.0, which added garbage collection. Someone correct me if I'm wrong.
Anderson said 8:09PM on 4-27-2009
@ Macskeeball: Objective-C 2.0 Garbage Collection is supported on the Mac platform just not for iPhone OS yet.
bonch said 4:46PM on 4-30-2009
"Objective C is a great language... in 1989."
It's a great language today, just like C. I bet you've never even touched Xcode.
"There's a reason why so many applications on iTunes crash regularly and suffer from performance issues. Objective C is a difficult language to deal with. With no garbage collection, you're just begging newbies to create monstrous memory leaks, which account for most of the unexplained application shutdowns that occur regularly with the iPhone."
Cocoa uses reference counting, which is a form of automatic memory management that is not difficult as you claim. Any performance issues you believe exist have nothing to do with Objective-C. Basically, you made your post up.
"Heck, Webkit shuts down unceremoniously due to lack of memory and that was written by people who really should know better."
WebKit isn't even written in Objective-C. God, you're uninformed.
"And new programmers are expected to be able to juggle system resources?"
Yeah, it's part of knowing how to program a computer.
Manutdfan539 said 7:46PM on 4-27-2009
The reason all the "noobs" is because of all those dream stories like Ethan Nicholas. People, especially kids, see that and think that iPhone development is better than getting a summer job, and in some cases, it is.
I personally am learning Objective C right now, but I'm not a "noob" as I already know C++.
Reply
Petar Smilajkov - Peconi said 9:42PM on 4-27-2009
http://iBetaTest.com :)
Reply
Jesse said 11:41PM on 4-27-2009
iPhone platform is already strapped for memory so GC is not possible at the moment. The retain / release mechanism used in Cocoa is almost childs' play with some practice, you just have to learn the conventions. Objective-C is a great language that has a nice balance of control and freedom and a wonderful API. Although, imho, Foundation is lacking in choices of data structures.
Reply
JFMartin said 7:50AM on 4-28-2009
This reminds me of the commodore 64 when it became really popupar.... even moms wanted to write basic so they could be there receipe in there !
I'm one of those newbie actually writing an iPhone application that I hope will be for sale by june.
http://buildingiphoneapps.blogspot.com
Reply
timepilot84 said 6:25PM on 4-28-2009
Objective C is NOT BASIC. Not by a long shot. You aren't going to see the same level of user interaction that you did with Commodores or even Visual Basic on Windows. If Apple could come out with some new iPhone version of Hypercard, that would be ideal. Keep the kids in the playpen. Leave the heavy lifting to us professionals :)
freakscene said 2:55PM on 4-28-2009
I feel sorry for anyone whose first exposure to programming is Objective C. Even for seasoned developers it can be a morass of a language to wade through.
Reply
timepilot84 said 5:57PM on 4-28-2009
I concur. Objective C is a lousy first language. Like I said, Objective C was really clever in 1989. Compared with modern languages, it's a mess of legacy programming paradigms. One of the reasons Microsoft did so much better than Apple is the attention they've paid to their development environment over the years. Once they saw that Borland was cleaning their clock SDK-wise, they got their act together and have never looked back.
Janne said 3:49AM on 4-29-2009
I have a desire to learn programming, since I have a desire for an iPhone-app that no-one seems to be providing. I studied it a bit in the yesteryears (C++ andJava mostly, but I have forgotten most of it), but I would have to learn Objective-C to program for the iPhone. looking at comments about newbioes diving in to Obj-C, the first comment seems to be "learn C first". And the premier book about learning C is the K&R-book. I'm currently reading that, but it too assumes that the reader has some programming-knowledge (Pascal in this case). It seems like a vicious cycle....
That said, I'm going through the K&R-book, and if/when I get the grips of it, I'll move to Cocoa and Obj-C. Here's to hoping.
Reply
freakscene said 5:42AM on 4-29-2009
I wouldn't bother with the old K&R book honestly. Actually, the "C" in the name of Objective C is a misnomer. There's really nothing C-ish about Obj C, certainly not in its syntax. This might sound odd, but I'd start learning Actionscript 3.0. It's somewhat Java-esque, but not as draconian in its structure, and doesn't have the memory management issues of C. The learning curve is a lot less steep than diving into C/C++, but AS3 is still a powerful language and has a very C syntax. Learn the basics, get a grasp on object-oriented programming, then switch over to Obj C. For AS3, I'd pick up Moock's "Essential Actionscript 3.0" book. Good luck.
Reply