Learning to Develop?

Discussion in 'iOS Programming' started by LethalUK, Aug 3, 2009.

  1. LethalUK macrumors member

    May 2, 2009

    I just got a Macbook Pro !

    I was wondering how easy it is to learn how to develop for the iPhone platform. I am 15 years old but know a lot about computers with 2 confirmed A*'s already in Year 10 GCSE, with another two units supposed to get A*'s. I am about 2 units ahead of everyone else.

    Also, does the Stanford University iTunes U System tell you everything you need to know, or do you need some coding knowledge before you start.
  2. TodVader macrumors 6502a


    Sep 27, 2005
    Quebec, Canada
    Start by learning Objective-C and some C elements like pointers and memory management. After that, learn the iPhone SDK and if you want to make games, learn OpenGL. It's not something you can learn in a weekend, even if you're good with computers.
  3. LethalUK thread starter macrumors member

    May 2, 2009
    I understand. Where is the best place to learn this?

    I was thinking about making an App with random facts based on units of work at school. Ex. GCSE Science Tips or Facts.
  4. zrbecker macrumors member

    Jun 28, 2009
    The Standford course on iTunes you may be a bit too advanced for you.

    If you just want to learn to program for the iPhone a book on Objective-C would be a good start. The Standford course on iTunes gives you a quick run down of the language (Objective-C), but assumes you have previous experience with programming concepts in other programming languages.

    If you are looking to learn how to program in general, then go check out some of the other programming. At least do CS 106A and CS 106B, which I belive is Java and C++. After taking those two courses, and doing all the course material, you should be ready to understand the iPhone programming lectures.

    Note that the Stanford lectures are not like online programming tutorials. Programming tutorials usually give you step by step instructions on how to write a program. The Stanford lectures will give you all the resources to write the programs they ask you, but it is up to you to see how it all works together.

    Good luck, and have fun programming!
  5. TodVader macrumors 6502a


    Sep 27, 2005
    Quebec, Canada
    For Objective-C, I recommend the book Programming in Objective-C 2.0 by Stephan G. Kochan.

    For the iPhone SDK, especially for what you want to do, I recommend Beginning iPhone Development by Dave Mark & Jeff LaMarche.

    For the rest, after reading and mastering both of those books, the internet is your friend. The official Apple documentation and different frameworks for games are well explained.

    Good luck!
  6. Jomskylark macrumors regular

    Sep 30, 2008

    I don't mean to interrupt this thread but I didn't want to create a new thread either. I think there's a split thread function if admins/mods want to do that.

    I also want to learn programming for iPhone/iPod Touch, but I have absolutely zero knowledge of programming whatsoever. I did a little research and I think I should learn C and then Objective C and then the iPhone SDK. Is this correct? I understand learning C is not necessary, but if it helps I'm all for it.

    I am willing to spend time and money so long as I know I'm heading in the right direction. I also don't have any time constraints, but sooner rather than later would be nice.

    I see there's been a lot of recommendations for webcasts by Pragmatic Programmer and a Stephen/Steven Kochan (not sure if spelling is right)? Is this where I should be going?

    I'd like to note that while I'm very determined, I have tried before with online tutorials and didn't do so hot. So, yeah.

    Right now I'm only interested in iPhone programming. Maybe Mac programming in the future...? But right now just for the iPhone. If somebody could help point me in the right direction, that would be great!

    Thanks in advance! :)
  7. FarSeide macrumors 6502a


    Feb 17, 2008
    Earth Lane
    Some will tell you that you don't necessarily need to know C but I am a firm believer in taking the right steps. Learning how to crawl before walking...

    If you understand C, you will have an easier time understanding Objective C and rest will be a lot easier.

    I hope that helps
  8. Moles macrumors newbie

    Jul 9, 2009
    Agreed, I am a professional software engineer mainly for Windows. I learned c++ as my first real language (a child of C). From that I easily learned JAVA and C# (both children of C++). Objective C is my current learning path as I have moved back to Mac at home and in school. I would suggest everyone learn C or C++ first to understand memory management, pointers, data structures, etc. At that point, the rest is just syntax and nuances of the languages. If you have a firm ground in C++ or C you can learn anything.

    Keep in mind that knowing how to write code is a small part of software development. You need to understand requirements, testing, versioning, and dare I say DOCUMENTATION, if you want to be successful.
  9. thejadedmonkey macrumors 604


    May 28, 2005
    If you have a windows PC available to you, I would highly recomend Microsoft's Small Basic. Although it won't teach you the API of any other language, it's very easy to install, and even easier to use. It's also very good for teaching the basics of syntax and creating your first program or two.
  10. Jomskylark macrumors regular

    Sep 30, 2008
    @ FarSeide: Okay, thanks!

    @ Moles: Hmm, yes, so C is a good starting point then? Thanks

    @ thejadedmonkey: Sorry, didn't specify -- I am a Mac. Thanks anyway!

    /me takes a deep breath

    I guess I'll attempt to learn C! So, uh, where to begin? I am a Macbook running 10.5.6. I have downloaded the iPhone SDK and am a registered "developer" at the ADC website. I have played around with it but because I have no prior knowledge, I had no idea what I was doing.

    Could somebody point me in the right direction? I am willing to pay money... I am thinking a book would be great but I'm not too interested in squinting at tiny text with five black and white pictures scattered all over the 8,000 page hardcover. Obviously I'm exaggerating but hopefully you can get my point.
    Videos seem good but there's only so much that can be put in a video... And then if I'm writing some code as an example I don't want to keep having to stopping the video and minimizing the window and stuff like that. And then it can be a pain when the quality is bad and they never zoom in on the important stuff. I suppose it could be done but unless it's a really outstanding video I'll probably skip it.
    Online tutorials, I don't know, I've just never had a good experience with them in the past. "E-books" just seem to be hard to follow. But if it's good I'll give it a try.
    Basically I'm open to all sorts of material but I want to be sure that it's a good choice, so multiple viewpoints would be great.

    Thanks again!
  11. PhoneyDeveloper macrumors 68040


    Sep 2, 2008
    If you want to come up to speed on iPhone development as fast as possible and you have no programming background it's going to take a while. Months at least, depending on your aptitude and motivation.

    IMO, the fastest way to learn is either by getting good books or by actual classroom course work.

    Obviously with books you can work at your own pace, slow, fast, very fast, up to you.

    With no programming background I would definitely start with a learning C book. You want a book on 'how to learn C' not a reference book on the C language. 'Learn C on the Mac' is probably as good as any. In fact almost any 'Learn C' book should work. The book I mentioned probably has some Xcode info, which you'll need.

    Once you can write some command line apps in C that do something you can move to Objective-C. Kochner's book is probably the standard. You could also get one of the Cocoa programming books by Hillegas. These are excellent, however the code is all MacOS X programming not iPhone. Finally get one of the iPhone dev books, like the LaMarche book.

    All of these 'learn' books are like tutorials. They start with simple code examples and move to more complicated examples and more technologies. You need to do the exercises and you'll learn the technologies.

    Every developer takes his own path to learn the technologies but IMO using the 'learn' books is the fastest way to learn the technologies. Forget about online videos or tutes until you have finished the iPhone development book.
  12. Jomskylark macrumors regular

    Sep 30, 2008
    Time is not an issue as long as I'm going in the right direction... when I said before about sooner rather than later I meant I didn't want to take five years to develop an iPhone app.
    So I should go with "Learn C on the Mac" then? Anybody else have a viewpoint on this...? Sorry, I just want to make sure before I spend $25.

    Thank you!

    Also, I was a bit confused... I thought Xcode used Objective C... does it also use C? I understand Objective C is a stripped down version of C but I had originally thought that Xcode was very focused on just Objective C. Lastly, where does "Cocoa" come into all of this? Is that was C stands for?

    Thanks again!
  13. dejo Moderator


    Staff Member

    Sep 2, 2004
    The Centennial State
    Seems you still are somewhat. :)

    It does. Although your sense of "use" is a little off. Xcode is simply an IDE that allows one to write programs in a number of languages, including C, Objective-C, Java, etc.

    Actually, Objective-C is a superset of C, which makes is a "stripped up" version of C.

    Cocoa is a framework used to build Mac OS X applications; for the iPhone, we use Cocoa Touch. Isn't not what the C in Objective-C stands for. That just references the fact that Objective-C is built upon the C programming language.
  14. Jomskylark macrumors regular

    Sep 30, 2008
    Ah, I think I am starting to understand now... more or less... :)

    However, would Cocoa be called a language? Where would it play into the roles... I guess I need to learn C, then Objective C, and then maybe iPhone SDK/Xcode, so where would Cocoa come in?

    One more thing...


    This the right one then? It was made late last year so I don't know if that would be classified as outdated or not.

    Sorry for all the bothering...

  15. PhoneyDeveloper macrumors 68040


    Sep 2, 2008
    Cocoa is an application framework, implemented in Obj-C. Cocoa touch is a different app framework, also implemented in Obj-C. An app framework is a kind of library of software that helps you to write applications. Look at wikipedia for more info.

    Get the Dave Mark book shown at the amazon link and work through it. You'll learn a lot.
  16. Jomskylark macrumors regular

    Sep 30, 2008
    I have ordered the "Learn C on the Mac". Thanks!

Share This Page