Cocoa Touch and Objective C

Discussion in 'iOS Programming' started by phalgun27, Jul 14, 2013.

  1. phalgun27 macrumors newbie

    Joined:
    Jan 20, 2013
    #1
    Hi,

    I have started learning programming in Objective C (Stephen G. Kochan). As I have prior knowledge of C, Objective C looks pretty easy ( I have just read 6 Chapters though).

    Can anyone please tell me how hard is Cocoa Touch compared to Objective C and how long does it take to learn Cocoa Touch. Also should I learn Coco or Cocoa Touch.

    I would love to develop iPhone apps but before that I want to learn all the languages.

    Is Objective C by Stephen G. Kochan good enough to learn? Can I anyone please recommend good books for Cocoa Touch?

    When I complete learning Objective C and Cocoa Touch, do I need to learn anymore languages? Do I need to learn JAVA, UNIX? I guess JAVA is really complex.

    Your suggestions are much appreciated.

    Thanks
     
  2. gr8tfly macrumors 603

    gr8tfly

    Joined:
    Oct 29, 2006
    Location:
    ~119W 34N
    #2
    A couple of notes that might help you assess the amount of training you'll need:

    • iOS does not support Java.
    • Cocoa Touch is an API, not a language.
    • UNIX is an operating system, not a language. iOS and OS X are built on a modified version of BSD UNIX.

    Take a step back and familiarize yourself with some of the more basic concepts covering software design and development. Having experience in 'C' is a great start, but in addition to getting started with Objective C, you should add object oriented design (OOD) to your list of subjects needing at least an introduction.

    I would suggest watching some of the training videos Apple offers, along with some of their introduction to designing apps for iOS and/or OS X documents. They'll cover some of the many APIs available when developing for iOS.

    The level of training you will need largely depends on your goals. Keep in mind, there are 4-year (and beyond) degree programs for many areas of study in computer science. That might or might not be required to get an app developed. In other words, the amount of experience needed for one type of app might leave you overwhelmed trying to solve design problems for another.

    At some point, you'll need to join the iOS developer program, which is a bargain at $99/yr and is required to deploy apps to the App Store. You'll also gain access to Apple's developer forums where, aside from benefitting from other developers' experience, you can also get help from Apple engineers.

    Hope this info helps. In any event, have fun!
     
  3. phalgun27 thread starter macrumors newbie

    Joined:
    Jan 20, 2013
    #3
    I appreciate your suggestions. I know it will be more than an year before developing an app.
     
  4. ArtOfWarfare, Jul 15, 2013
    Last edited: Jul 15, 2013

    ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #4
    Don't worry about learning a bunch of languages. In my experience, each additional language you learn takes half as long to learn as the previous one.

    Having said that, there's probably hundreds if not thousands of programming languages. Focus on things you'd like to program, then research which language is best suited for it and learn that language.

    Java isn't well suited for iOS, as Apple doesn't allow you to write iOS apps in Java - they can only be in:
    Obj-C, C, C++, Obj-C++, HTML5, CSS3, and JS (and they put some severe limits on JS, too.)
     
  5. cledet macrumors regular

    cledet

    Joined:
    Mar 26, 2012
    Location:
    San Francisco, CA
    #5
    The hardest part about developing for a new platform is learning the API, not the language.

    Once you get the feel of Objective-C, learning Cocoa and/or CocoaTouch will be easy. You're going to find yourself in the Apple Documentation A LOT.

    Xcode's auto suggestions is a great help as well. Quick Xcode tip: You can hit Esc for when typing to see a list of suggestions.

    Have fun and take your time!
     
  6. phalgun27 thread starter macrumors newbie

    Joined:
    Jan 20, 2013
    #6
    Thank you all for your suggestions :)

    I started watching Stanford videos about developing iphone apps CS193P on iTunes but it does need per-requesites CS106A and CS106B which is programming methodology. In CS106A they are concentrating on Java. Do you think learning from CS193P will help? Besides this I will learn Objective C.
     
  7. Tander macrumors 6502a

    Tander

    Joined:
    Oct 21, 2011
    Location:
    Johannesburg, South Africa
    #7
    I found those videos got quite difficult quickly. If you have lots of time - go through them as I still learnt a crap load from them.

    However I dropped back to a book and that has made life somewhat easier for me to get up to speed on iOS development.
     
  8. Duncan C macrumors 6502a

    Duncan C

    Joined:
    Jan 21, 2008
    Location:
    Northern Virginia
    #8
    Objective-C is not a big language. The syntax takes a while to wrap your head around, but then so does C.

    The biggest challenge in moving from C to Objective-C will be the paradigm shift from procedural developing to Object-Oriented Development (OOP) and Object-Oriented Design. It's a very different way of thinking about software design. Java would help with that, as would C++, Smalltalk, C#, or any other object-oriented language. However you'd spend a lot of time learning syntax and semantics that you'd just have to re-learn when you tackled Objective-C.

    Cocoa Touch is a very rich API. It takes experienced developers quite a while to get fluent. I've been programming for other 30 years. I was productive in maybe 3 months, but not fluent for over a year of nearly full-time development. After 4 years elapsed time and maybe 3 years total full-time work, (a year of that was off doing Mac projects) I'd now call myself an expert on the subject.
     

Share This Page