Best Book for a Complete Starter

Discussion in 'iPhone/iPad Programming' started by JamesFoote, Aug 5, 2008.

  1. macrumors regular

    JamesFoote

    Joined:
    Aug 5, 2008
    #1
    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. macrumors 6502

    Joined:
    Apr 8, 2008
    #2
    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.

    http://www.amazon.com/Head-First-Java-Kathy-Sierra/dp/0596009208

    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. thread starter macrumors regular

    JamesFoote

    Joined:
    Aug 5, 2008
    #3
    Ok

    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. macrumors member

    Joined:
    Jan 31, 2008
    #4
    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. macrumors 6502

    Joined:
    Apr 8, 2008
    #5
    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. macrumors regular

    Joined:
    Mar 17, 2008
    #6
    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.

    keehun
     
  7. macrumors 6502

    Joined:
    Jun 26, 2008
    #7
    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. macrumors regular

    Joined:
    Mar 17, 2008
    #8
    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. thread starter macrumors regular

    JamesFoote

    Joined:
    Aug 5, 2008
    #9
    C?

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

    Joined:
    Feb 5, 2008
    #10
    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. macrumors 68020

    revenuee

    Joined:
    Sep 13, 2003
    Location:
    A place where i am supreme emporer
    #11
    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

    best
     
  12. thread starter macrumors regular

    JamesFoote

    Joined:
    Aug 5, 2008
    #12
    J

    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. macrumors 68020

    revenuee

    Joined:
    Sep 13, 2003
    Location:
    A place where i am supreme emporer
    #13
    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. macrumors regular

    Joined:
    Jan 18, 2006
    #14
    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. macrumors newbie

    Joined:
    Mar 30, 2008
    Location:
    Brussels, Belgium
    #15
    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. macrumors 68000

    Apple Ink

    Joined:
    Mar 7, 2008
    #16
    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. macrumors newbie

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

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

    Joined:
    Feb 22, 2006
    #19
    Yep, can't wait for the NDA to lift.
     
  20. macrumors 6502a

    DipDog3

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

Share This Page