A couple newbie questions....

Discussion in 'iOS Programming' started by cybrscot, Dec 7, 2010.

  1. cybrscot macrumors 6502

    cybrscot

    Joined:
    Dec 7, 2010
    Location:
    Somewhere in Southeast Asia
    #1
    Okay, just getting started to get started.....anyway, does it matter whether I use a desktop or a laptop for writing applications and learning to do all this? I like the large screen of the desktop, but I like that I can take the laptop with me to work on my projects anywhere I want. I don't really know, is a big screen necessary? While learning and building apps, do I need to have multiple windows visible on the desktop to switch back and fourth between??

    Also, I see all the recommended books, etc for learning how to write apps for the iphone/touch. so let me get this clear. As I understand it, I need to learn/use Cocoa and Objective C. (they are not the same thing right?) And that's it?? After this I can write apps?

    I also read that it would be helpful to learn C also, (to better understand Objective C) So, do I need to know and learn all 3? I have no programming experience. I think some might say I only need to learn objective c and cocoa, but to understand Objective C I should also learn C.

    What exactly do I NEED to learn to write apps?

    Thanks!! Any help would be cool.
     
  2. cnstoll macrumors 6502

    Joined:
    Aug 29, 2010
    #2
    1) Desktop vs. Laptop is entirely up to you based on personal preference. It doesn't matter which one you choose. That being said, I use two monitors and it's sometimes nice to see both your code on one side, and documentation on the other.

    2) Cocoa is the collection of frameworks which Apple has written that allow you to interact programmatically with features provided by Mac OS X and iOS. Objective C (or C if you choose) is the programming language that you use during that interaction.


    Learning the fundamentals of C is recommended so that you understand how programming languages work. Objective C is based on C, so understanding C principles will help you become a better programmer. I really think where you go from here depends greatly on what your goals are. I feel like it's fairly simple for a lot of people with no programming knowledge to piece together some tutorials into a simple application. You'll run into problems on this route though, without learning about C and Object Oriented Programming, and you may not know how to fix them. If that's all you want to do though, then just dive on in to some tutorials. But if you really want to understand what's going on and become an app developer, then you should learn the basics of C, learn the principles of Object Oriented Programming, and then start to learn about Cocoa.
     
  3. cybrscot thread starter macrumors 6502

    cybrscot

    Joined:
    Dec 7, 2010
    Location:
    Somewhere in Southeast Asia
    #3
    Thanks a lot. I "app"reciate the feedback!
    I'll give C a try. I will order the book . It looks like it's about 600 pages, it's taken me a long time just to read an 800 page biography, without actually having to learn something. It seems daunting to "learn" C from a 600 page book, like it might take 2 years. But we'll give it a go. It may be a worthwhile skill set to have, regardless of what I'm doing for work at any given time, this can always be a backstop.
     
  4. cnstoll macrumors 6502

    Joined:
    Aug 29, 2010
    #4
  5. Zazoh macrumors 6502a

    Zazoh

    Joined:
    Jan 4, 2009
    Location:
    Mico, Texas
    #5
    If you are using a 600 page book to learn C, you have the wrong book.
     
  6. zachsilvey macrumors 6502

    Joined:
    Feb 5, 2008
    Location:
    Battle Ground
    #6
    After developing on a multi-screen setup I can't stand using my 15 inch MBP display. That being said, a laptop is perfectly capable.
     
  7. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #7
    1) You will not be a good app developer if you only want to learn what you absolutely "need". The closely related stuff you don't "need" will allow you to make better apps faster and with less headaches (from beating your head for days by not understanding why something you did just doesn't work).

    2) When sitting at a desk, a large monitor (or two!) is extremely nice and helps a lot with productivity when using Xcode/Simulator/documentation/etc... however, not everybody wants to sit at the same desk all the time while coding. As an option, current MacBook models are perfectly capable of driving at least one large monitor, so a laptop plus a large monitor might be a good combination.
     
  8. Simgar988 macrumors 65816

    Simgar988

    Joined:
    Jul 22, 2009
    Location:
    UYBAATC
    #8
    I'm new as well and am interested in designing games specifically. Are there main differences between the development of games and task oriented apps?

    What's a good path to follow if I'm interested in developing games.
     
  9. zachsilvey macrumors 6502

    Joined:
    Feb 5, 2008
    Location:
    Battle Ground
    #9
    Developing a game can be much more difficult especially if it involves things like 3D, physics, AI and multiplayer. I wouldn't recommend jumping right into that but there are books that will give you a starting point for iOS game development.

    "Task oriented" apps are much simpler because the views are much more often just UITabBarController, UINavigationController, etc.
     
  10. Simgar988 macrumors 65816

    Simgar988

    Joined:
    Jul 22, 2009
    Location:
    UYBAATC
    #10
    How hard are the physics, graphic elements of doodle jump? Im lookIng to do things alot this nature rather than developing 3d games. More of the doodley minute to win it style games.
     
  11. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #11
    Even "doodly" games require sound effects, smooth animation, responsive controls, visual appeal, and great gameplay.

    Maybe more fun to attempt to do, but much harder to design and code than a typical task oriented app. Both of which are harder to do than simply learning to program well.
     
  12. flummoxed macrumors member

    Joined:
    Nov 27, 2010
    #12
    I disagree. I may be a fledgling myself, but I am discovering what is useful and necessary and what isn't.

    The best book I have seen for learning C is over 700 pages :
    C Programming: A Modern Approach 2nd Edition by K.N. King

    It is easy to read, the examples and explanations are clear, and it assumes nothing about the reader. I have read 2 other books on C and I had to stop at some point because I could not understand what they were discussing - both books when they got to explaining pointers. Pointers are essential to understanding Objective C.

    I jumped into Objective C with a book and tutorials, and had to stop because I could not understand the syntax and logic of the use of pointer variables.
    So I went back to the K.N. King book and read up on pointers and structs.
    It all became clear after that.

    Simply mimicking a bunch of tutorials will not get you very far in learning to program properly.

    I think you can learn the essential basics of C in less than a year if you sit down and study it consistently every day. I started my journey from the beginning of March this year (2010) and have already created a functioning slot machine game from scratch. Its not Doom3, but its still a functioning app, and more than I could do 9 months ago.

    As for the other question about hardware platforms...
    I once saw a guy writing an iPhone app at jury duty using a Macbook Air.
     

Share This Page