tags:

views:

1309

answers:

8

I have no programming experience but would like to get into iPhone App development. Should I learn a programming language or outsource? I have time.

A: 

probably a long time...

vehomzzz
+1  A: 

If you really want to get in to app development, learn a language (preferably several).

If your end goal is learning Objective-C for iPhone development, start with C. Once you have the base, move on to Objective-C.

A good, concise C reference a can be found here.

It'll definitely take a while, but in the end you'll spend less time (which equals money) learning the languages and writing the code than you would in money/time outsourcing the work (and getting quality results).

Justin Niessner
A: 

It takes about 10,000 hours to become a master at anything. Best of luck! http://bradleykay.wordpress.com/2009/01/14/10000-hours-to-mastery/

Will Shaver
I wonder if it took Malcolm Gladwell 10,000 hours to perfect his form of hucksterism.
Ben M
I suspect writing a book or two takes at least 10,000 hours. So, yes, he's had ample time to perfect his craft, or whatever you choose to call it.
Barry Wark
It is generally accepted that there are 2000 work hours in a year. I'd venture to say that an author who spends five years of full time work equivalent writing a book is not an author that is going to make much of a living writing.
mmc
A: 

You may want to look at Objective-C for dummies or iphone applications development for dummies.

http://www.amazon.com/Objective-C-Dummies-Neal-Goldstein/dp/0470522755

James Black
+3  A: 

The answer depends on your purpose for writing iPhone (or any other) apps and what you think you do (or can do) well. If you want to write apps for pleasure or personal interest, then you absolutely should learn to program. It will undoubtedly take a while, but it's a hobby, so who cares?

If you want to write apps for profit, then you must think carefully about where you add value to the development of those apps (profit comes from the value provided by those apps, after all). If you might be a good programmer, learn to program. It's unlikely you will do a very good job at programming initially, and writing for the iPhone is a difficult target to start with (there are memory, hardware, and process constraints inherent to embedded development like on the iPhone that can distract from the fundamental concepts of programming). If you have a good idea for an app and want to get it to market, outsource. There are many (very) competent programmers you could contract to write your app. Keep in mind, however, that outsourcing part of your business that should be one of your business' core competencies is always dangerous. If your business is a programming business, you may not be willing to give up control of the core of your business to an outsider. If, however, your business is, e.g. a service business and you need an iPhone app to make your service more efficient, it may make a lot of sense to outsource the programming.

Barry Wark
I would make an effort to learn about it anyway. Running a company whose main business is something you don't know anything about can work, but you're leaving a lot more to chance.
Chuck
i second that... but that hasn't stopped a lot of companies from not being competent in their main business' core competency
pxl
@Chuck and @pxl, your comments do a better job making my point than I did. I hope you don't mind me editing my post to reflect your improvements.
Barry Wark
+1  A: 

i agree with the responses that say learn C first. Obj-C originally came to being as an extension to C. so everything that you can do in C, you can also do in Obj-C. and if you don't know C, then there will be a lot of things that will confuse the heck out of you in Obj-C.

also, i might suggest you look up if there are any local user groups out there... learning with a buddy is a lot easier than hacking away at it on your own... and the likelihood of you giving up due to sheer frustration will go down.

pxl
+3  A: 

I am currently in the middle of learning objective-c, iphone development without any prior programming experience. If you have time as you stated, you can start with objective-c and succeed.

However, if you have no prior programming experience, you will have to discipline yourself in order to achieve anything, but that's akin to any discipline in life, especially when it comes to taking on a new skill - practice makes perfect.

Two steps I have taken so far with book purchases:

  1. Programming in Objective-C 2.0

I recommend Steve Kochan's Programming in Objective-C 2.0 as a primer. It's a complete introduction to Objective-C that doesn't touch on iphone programming until the end. His approach is measured, and focused on introducing importing principles of OOP (that's Object-Oriented Programming) Kochan also has his own forum where he personally answers questions related to subject material in his book. I think other devs who have read this will agree with me in saying Kochan doesn't just have you cut & paste code in to your program, he takes it apart, piece-by-piece to promote learning.

  1. Beginning iphone 3 Development.

Once you have a grasp on objective-c, use this book to actually learn the iphone sdk and iphone programming specifically. You'll get used to the frameworks that apple uses (Foundation, UIKit, etc) for iphone development with out too much trouble.

Timeline:

I started programming in Objective-C in July. I'm writing very Basic iphone apps now and have gone through most of Progamming in Objective-C 2.0 and half of the Beginning Iphone Dev. I put in about 2-3 hours a day, 6 days a week.

Hope that helps.

samfu_1
A: 

I was able to pick up objective-c in a couple of days, but I had previous experience with C and C++, I'd anticipate that anyone who is properly motivated and has an aptitude for logic could learn C, then objective-c and cocoa over the course of 1 month working 8hrs/day 5days/week... the downtime is important, so I wouldn't think someone could do the same working 16hr days for 10 days straight.

If I were in your position I'd start by reading "The C Programming Language" to gain a general understanding of C, then moving on to Aaron Hillegass's "Cocoa Programming for Mac OS X", after that you should be able to learn iPhone development from Apple's docs.

I'd expect that "The C Programming Language" would take 2-4 days to complete, then another 2 weeks for the Cocoa book, the rest would be reading docs and coding.

jessecurry
C in 2-4 days. Really?
Yar
It's not very long... I think that it took me 3 days to read through while doing examples. I think that there might be 225 pages of content.
jessecurry