Best Book for a Complete Starter

Discussion in 'iOS Programming' started by JamesFoote, Aug 5, 2008.

  1. JamesFoote macrumors regular


    Aug 5, 2008
    From playing around with the SDK, I understand how incredibly hard developing is. Excpecially for a 14 year old. I know a little bit of HTML (not related to the SDK), but nothing about writing iPhone apps.

    What is the easiest and best book or guide I can use to help me learn more about using the SDK and coding?
  2. daflake macrumors 6502a

    Apr 8, 2008
    Learn a language first before you try to start coding for a specific system. I recommend JAVA. Most that have programmed in JAVA have been able to switch to another language easily. You need to learn about arrays and data types etc... before you even tinker with an SDK.

    This is a good book that will get you started in the language. There are others out there but I used this one for my first JAVA class in college.
  3. JamesFoote thread starter macrumors regular


    Aug 5, 2008

    OK, that sounds great - but I read on another thread that learning "C" is more effective.

    So should I be learning JAVA or "C".

    Also, does "C" stand for Cocoa? Because that is another language i'll need to know eventually?
  4. itouch2007 macrumors member

    Jan 31, 2008
    No, "C" doesn't stand for Cocoa, "C' is language by itself, also there is C++ and Objective C which is used in XCode.

    They all pretty similar, once you learn one of them you can all with no problem.

    Word of caution though, C is not the easiest language to start with, but then again you have to start somewhere.
  5. daflake macrumors 6502a

    Apr 8, 2008
    The above mentioned is why I suggested that you start with JAVA. It is a bit easier to learn and will make moving to C a lot easier in the future.
  6. keehun macrumors regular

    Mar 17, 2008
    Hey James Foote,

    I'm 15 and I program... I started with Visual Basic, moved on to ActionScript and PHP, then to some C, then to ObjectiveC now.

    I suggest you try learning PHP or C (or C++)

    Remember, you are trying to learn Objective-C which is a subset of C (Thus, you can mix C within Objective-C/Cocoa) Cocoa is the framework in which makes it a "mac app"

    And as a book... If you really want to start out with Cocoa, as anyone who programs Objective-C/Cocoa would recommend, I recommend Cocoa programming for Mac OS X by Aaron Hillegass

    Its pretty good. In my opinion, if you really want to spend lots of hours (like 5 or so) each day, and really try to understand the core concepts of programming and every aspect of it, instead of trying to make something awesome at start, I don't think you will have too much trouble.

  7. ayasin macrumors 6502

    Jun 26, 2008
    I would strongly encourage you to avoid PHP. It will do nothing but teach you bad habits. Also I'd recommend avoiding starting with a procedural language like C. I'd recommend (as others have) Java. The constructs are similar and the familiarity you'll get with object oriented thinking will be invaluable.

    Just a nit-pick...ObjC is a superset not a subset of C. I've seen this mentioned a few times in various places and I just finally had to respond :p.
  8. keehun macrumors regular

    Mar 17, 2008
    Ah. Superset. Thanks for correcting me.
    And you bring up a good point procedural vs. object oriented.

    Why I went with C recommendation is to just learn about the fundamental basics all program languages have, operations, assignments, comparisons, conditionals, etc and after all, Objective-C can have some C mingled in.. When I made the move from all the procedural languages to Objective-C I didn't think it was too confusing but it is a valid point, I guess.

    Start with the CurrencyConverter™ tutorial from apple! ;)
  9. JamesFoote thread starter macrumors regular


    Aug 5, 2008

    So do you think starting with C, and then eventually moving on to Objective C would be a good idea?
  10. seventoes macrumors newbie

    Feb 5, 2008
    Start with Java in my opinion. C is procedural, so moving from C to an object-oriented language like ObjC will confuse you. Java is relativly easy to learn and it teaches you the concepts behind object-oriented programming. Plus there are loads of beginner tutorials for it.

    Just know that learning this stuff isnt going to be quick and easy, you wont be able to jump right into things in a week. You gotta keep with it if you really wanna learn.
  11. revenuee macrumors 68020


    Sep 13, 2003
    A place where i am supreme emporer
    I just started learning to program myself and I started with C++. I play on a mac at home but my professional life revolves around windows with little possibility that the industry will move to OS X in the foreseeable future. However Unix and Linux is more prevalent in the back offices.

    I doubt I'll ever be involved in a true development environment but I'd like to be able to communicate with the developers more effectively.

    Anyway, sorry about the digression

    the book I'm using is C++ How to Program - 5th Edition ( I think there is a 6th now ) the book has been criticized as being wordy and going over the same concept in painful detail, but that suits me just fine.

    Much of the early difference between C and C++ from what I learned is the syntax - which is minor

    but more significantly, C ++ takes off were C leaves off and that's much more of the object oriented programming portion.

    hope that helps

  12. JamesFoote thread starter macrumors regular


    Aug 5, 2008

    Well, I guess i'll go with JAVA, then C, and then Objective C.

    Do you think finishing it all up around March 2009 sounds right?
  13. revenuee macrumors 68020


    Sep 13, 2003
    A place where i am supreme emporer
    define finish?

    if you mean -- you'll be able to USE those languages to write some degree of programs -- yes

    but you won't achieve mastery --- it takes 5 years to master anything
  14. white89gt macrumors regular

    Jan 18, 2006
    Start with C and steer clear of anything scripting related like PHP. C++ is a good language to start with as well, but if you're wanting to develop for the Mac or iPhone, then C will be your best choice. Once you understand C, learning the Objective-C extension will be a lot easier.
  15. mtgred macrumors newbie

    Mar 30, 2008
    Brussels, Belgium
    Definitly start with C or C++. You want to learn pointers and handling memory by hand. Plus you can reuse your C/C++ code directly in applications for the iPhone.

    If you start with Java and you might learn bad habits as there is a garbage collector to handle memory for you where as on the iPhone you have to do it manually.

    Also stay away from scripting languages such as PHP for the moment as the way they handle variable types is completely differently.
  16. Apple Ink macrumors 68000

    Apple Ink

    Mar 7, 2008
    Apple's NDA (Non Disclosure Agreement) prevents any major publisher from publishing/developer from authoring a book directly relating to the SDK and thus iPhone Programming!
  17. seventoes macrumors newbie

    Feb 5, 2008
    I thought the NDA was only for the betas? afaik the NDA doesn't apply to the public release.
  18. sharp65 macrumors 6502

    Sep 7, 2007
    No, it does. You won't find any books regarding iPhone development as it's still under the NDA
  19. aphexii macrumors 6502

    Feb 22, 2006
    Yep, can't wait for the NDA to lift.
  20. DipDog3 macrumors 65816


    Sep 20, 2002
    It won't until they get their patents approved.

Share This Page