How to learn Objective-C as quickly as possible

Discussion in 'iOS Programming' started by tutiplain, Mar 9, 2011.

  1. tutiplain macrumors member

    Joined:
    Feb 4, 2011
    #1
    Hi everyone,

    I've been trying to learn Objective-C for iPhone for the past few weeks. And while I've learned a lot, particularly about UIKit, my progress is slow. With the huge success of iPod and the App Store, I am given to wonder how have so many people have learned to program on this exciting platform in so little time. I was wondering if some of you might chime in and share what resources, tutorials or online courses you've used to learn. Any info would be great. Thanks in advance.
     
  2. Zord, Mar 9, 2011
    Last edited by a moderator: Mar 11, 2011

    Zord macrumors 6502

    Zord

    Joined:
    Jul 10, 2010
    #2
    I'm in the same boat dude! I feel the same way as you do. . . how has so many people learned how to do this (some of these people have never had ANY programming knowledge whatsoever) and yet they still have apps in the AppStore.

    I've been reading a book called "Objective-C for the Absolute Beginner" by Gary Bennett. Very helpful book and discussion board as well that goes along with it.

    Check these out!

    http://apress.com/book/view/1430228326

    http://forum.xcelme.com/viewforum.php?f=20&sid=735ec6790d2791c2662b337c37cea443

    Hope it helps and good luck!
     
  3. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #3
    Most of the people who learned to do iOS apps quickly in Objective C already had a decent amount of prior experience programming in some other computer language.

    Forget Objective C. Learn to program first.
     
  4. waynep macrumors 6502

    Joined:
    Dec 31, 2009
    #4
    I am in the same boat, wanting to learn Obj-C. I do have prior programming experience. I am going through this book. The programming examples are pretty basic but I am learning Obj-C and OOP.
     
  5. dejo Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #5
    Have you checked out the Guides and Stickies at the top of this very forum yet?
     
  6. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #6
    It's not always prior programming exp. It's really about the person, some people have a knack for programming and others don't. Everyone is going to learn at their own rate.

    I wouldn't stress on it for at least two reasons:
    1. a lot of the apps on the app store aren't very complex. Some are just sample code that's been re-worked. I think the flashlight and mirror apps are a good example of that.
    2. it's better to fully understand the entire process than just objC. Optimizing, readable, maintainable, leak-free, quality user interface, fast response time... There's a bunch more to making a quality app then just knowing objC.

    Also, just because you have an app in the store, doesn't mean you really know how to program. It could just be some sample code you reworked and made a tad bit different.

    Learn at your own speed and don't focus on being 1st.
     
  7. tutiplain thread starter macrumors member

    Joined:
    Feb 4, 2011
    #7
    Hi everyone,

    Thanks for your replies. Sorry for the long delay in answering. I just want to say thank you for the reference links. They will come in handy in my learning process. I want to add that I do have programming experience, having developed in ASP, ASP.NET and Visual Basic, have experience in at least the basics of Ruby, Lua, Javascript, C and C++. However, like always when learning a new language, the transition is not always easy. It seems like it will take years to become competent enough to profit from the App Store (if there's really any profit to be had), and yet I see so many apps that I just wonder how others have done it, seemingly so quickly. So it is not that I am looking for shortcuts or just looking to reuse other people's code.

    Still, I've learned a great deal since I first started this post, particularly about TableViews (my current area of study), so I guess that "seeming to take years" stuff might only be a feeling of mine :)

    Thanks, and may the programming be with you all :)
     
  8. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #8
    A few things to realize about how so many people end up learning this stuff "so fast".

    1 - Many of us pay to enroll in the dev program, giving us 2-3 months leadtime on new features of the SDKs.
    2 - Many of us were programming in Obj-C on OS X before the first iOS SDK
    3 - Many of us have extensive experience in other languages, as well.

    Another thing to realize: you don't need to learn about every nook and cranny of the iOS SDKs. That might have been feasible with the first few versions of it, but by now they're far too vast for anyone to be intimately familiar with the entire thing. Just focus on the tasks you want your app to be able to do and focus on learning the relevant parts of the SDK.
     
  9. TheWatchfulOne macrumors 6502

    Joined:
    Jun 19, 2009
    #9
    Or... learn both at the same time by working through a book called "Programming In Objective-C" by Stephen Kochan.:)
     
  10. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #10
    It's not that uncommon for some people, who try to learn two things at the same time, to end up not having learned either very well. Best to find out what type of learner one is before wasting months of ones life.
     
  11. MattInOz macrumors 68030

    MattInOz

    Joined:
    Jan 19, 2006
    Location:
    Sydney
    #11
    Still... how can you learn to program with out learning at least one language at the same time?
     
  12. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #12
    I think after TWO YEARS, he's either learned or given up... :D
     
  13. forcesteeler macrumors 6502

    Joined:
    Oct 1, 2007
    #13
    You have to have Prior Programming Experience before you Learn Objective C. Start with a Language like C then move onto Objective C.

    If you try to learn Objective C first you are going to have a hard time because Objective C throws the Kitchen Sink at you, You need to have a basic understand of programming before you dive into Objective C.

    It Took me 3 years to learn and I love Objective C, its a very powerful language and once you understand the language it all makes sense.
     
  14. TheWatchfulOne macrumors 6502

    Joined:
    Jun 19, 2009
    #14
    A point well worth considering, certainly. However, I feel that by the time one starts to learn how to program, one might already have a pretty good idea of what kind of learner one is.

    I don't think it's too much of a stretch to learn two things simultaneously if those two things are closely related. I feel programming concepts and any given programming language are pretty closely related.;)

    The book I mentioned is written with the assumption that the reader has never programmed before and is an excellent starting place for learning to program for the Mac or iPhone.
     
  15. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #15
    ... someone else resurrected this topic and must have had their post deleted because I didn't decide to jump start this topic 2 and a half years later...

    In any event, there's nothing wrong with resurrecting old threads. I used to think there was, until I realized that huge numbers of non-members find information in old threads via Google. Sometimes the data gets old and someone needs to come by and add a newer answer so that visitors can stop relying on the old answer.
     
  16. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #16
    That's exactly the problem.

    There's a ton to learning to program that has nothing to do with a Mac or an iPhone, much of which is better to learn as a general conceptual basis earlier rather than later (or never, and you end up wasting months/years creating a buggy mess of code that won't ever work reliably...)

    Some of the basics aren't hard or difficult ideas, they just have very little to do with high-level Objective C or Macs or iPhone, and thus get minuscule to no mention in such targeted books.
     
  17. TheWatchfulOne macrumors 6502

    Joined:
    Jun 19, 2009
    #17
    Are you familiar with the book? (Programming In Objective-C by Stephen Kochan) Each chapter covers a specific programming concept and provides code listings that demonstrate that concept. Every chapter ends with exercises which provide an opportunity for the reader to practice what they just read about. It starts with the basics and builds gradually. There is a whole chapter on the "Underlying C Language Features" which includes sections on pointers, structs, etc. Cocoa is not introduced until the next-to-last chapter. There is one chapter about iOS and it is the very last chapter. Like I said, it's a starting place. I'm having a hard time seeing the problem here.

    I hear the Big Nerd Ranch books are also very good, but I haven't read any of them.
     
  18. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #18
    I was just funnin, not the face at the end :D BTW, you're right, some questions come up over and over again and old threads are a great resource.
     
  19. ohbrilliance macrumors 6502a

    ohbrilliance

    Joined:
    May 15, 2007
    Location:
    Melbourne, Australia
    #19
    The Objective-C language isn't hard to learn if you already have a foundation in another OO language, such as C++ or Java. From the sound of it, you're wondering about learning the iOS SDK, which is much more involved.

    Learning a deep API and related techniques takes time. I've been putting off taking the next step into iOS because the perpetual 1-2 months I have available to learn it hasn't been enough. Then I've thought to myself, how long is the next phase or rest of my career? It's a decade and two-to-three decades respectively. Of course, tech develops rapidly, but I'm looking at months and years available in which to nurture my knowledge of this technology.

    If you want a quick fix to get apps on the app store, then there isn't necessarily one at this point. There's no shortcut to being highly skilled at something (and if there was, with no barrier to entry, there'd be no opportunities left). The app store is also not a golden ticket. Have you considered developing iOS as a full time job for a firm rather than making it on your own?
     
  20. Jnesbitt82 macrumors 6502

    Jnesbitt82

    Joined:
    Oct 21, 2013
    Location:
    Ohio
    #20
  21. Duncan C macrumors 6502a

    Duncan C

    Joined:
    Jan 21, 2008
    Location:
    Northern Virginia
    #21
    Learning to program in Objective C by studying Objective C is not learning two things at once. It's learning to program in a language by studying that language.

    I would argue that learning to program in Objective C by studying some other language like Java is doing 2 things. Once you were done learning Java you'd then still have to learn Objective C.

    Learning another programming language as a way to learn Objective C is like studying Italian as a way of learning French. Sure, it's a Romance language, and if you currently speak English it will help introduce you to the Romance family of languages, but you'd save a lot of time by skipping Italian and learning French to start with.
     
  22. nanoconsensus macrumors newbie

    Joined:
    Oct 28, 2013
    Location:
    Madrid
    #22
    Java vs Objective-C towards iOS Programming?

    Thanks Duncan for the tip. This is the doubt I have since a week. Started 10 days ago with Big Nerds Ranch on Objective C -my final goal is developing for iOS-, then I read so many messages in several forums mentioning the benefits of starting with Java via Stanford Mehran Sahami's CS106A (Programming Methodologies) & 106B (Programming Abstractions) before jumping into CS193P (iOS 7).

    So I decided to start with the Stanford videos, though not sure of choosing the right alternative.

    Would it make more sense to go straight with Objective C, forgetting about Java? What are your thoughts ladies and gentlemen? I'm a bit confused and would like to start playing with iOS as soon as possible.

    Thanks a lot.
     
  23. Duncan C macrumors 6502a

    Duncan C

    Joined:
    Jan 21, 2008
    Location:
    Northern Virginia
    #23

    If your goal is programming in Objective C, I think it's absurd to learn Java first. Learning a new language is non-trivial, and you'll fill your head with the syntax and semantics of Java, and then just have to forget all the Java-specific stuff you learned when it's time to learn Objective C.

    If your goal is to learn both, then sure, Java is a good first language. Go for it.

    The Big Nerd ranch Objective C book is a good choice for learning programming. It teaches you programming starting with a primer on C, then moves to Objective C. The style is light and easy to follow.

    It's a little short on exercises in my opinion though.
     
  24. larswik macrumors 68000

    Joined:
    Sep 8, 2006
    #24
    Just FYI, once you start learning you'll never stop learning. Programming is always changing and Apple adds new code and eliminates old code. I started a few years ago and still I learn every day. You'll never master it, you'll just get better at it. That being said, the more you know about the basics the easier it is to adapt to the changes.
     
  25. nanoconsensus macrumors newbie

    Joined:
    Oct 28, 2013
    Location:
    Madrid
    #25
    Thanks a lot gentlemen. Will go the BNR way.

    Cheers from Madrid
     

Share This Page