Would this be a good book to buy for a beginner?

Discussion in 'iOS Programming' started by EmptyPockets, Oct 18, 2008.

  1. EmptyPockets macrumors regular

    Joined:
    Jan 15, 2008
    #1
    I have no knowledge of programming at all (Short of a pseudocode class taken in college) but I am a quick learner and dedicated to a project I want to start.

    Would this book be a good way to get grounded in objective C? Is there a better one?

    I plan on making some applications and have at least one game idea. I have a graphic designer friend and want to learn the programming.

    the book: http://search.barnesandnoble.com/Programming-in-Objective-C/Stephen-G-Kochan/e/9780672325861/?itm=1

    Anyone know of a better book? Should I focus on books covering objective C or going straight into the SDK?
     
  2. SuperFreq macrumors newbie

    Joined:
    Oct 15, 2008
    #2
    I am not familiar with that book but I do suggest getting "Cocoa Programming for Mac 3rd edition" by Aaron Hillegass. This book is easy to read and got me on track to writing apps.
     
  3. wizard macrumors 68040

    Joined:
    May 29, 2003
    #3
    You are starting with a thin back ground so....

    From my perspective that is a thin back ground from which to start iPhone programming. Frankly I'd find a good book or books that cover the basics of computer science and "C" from the ground up. Then start in with the Hillegass book. The problem is if you don't have a minimal amount of knowledge about programming and C specifically it is going to male understanding the SDK difficult.
    I've not seen that book so obviously can't comment. You need to focus on texts that cover both the basics of C & Objective C and texts that cover next step.
    Personally I'd suggest cooling ones heals and getting formal instruction in computer science at a university. That would be the easy way to proceed.

    Learning DIY fashion isn't impossible either but I'm going to suggest that it may be harder than you expect. Realistically you should set aside 4 to 6 months to focus on learning computer science, programming and other basic concepts. Do this before trying to make any iPhone programs.
    Well I guess I covered this already but I'd certainly would get to know C and Objective C first. The SDK is an API built on top of Objective C so you need to know that first.


    Dave
     
  4. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #4
    It depends. There are many people who, even after a few formal college courses in programming, give up because they can't grok it. Then there are other and more talented ones who, after skimming one book or a few magazine articles on programming, just started coding, and ended up writing some of the seminal games in personal computing history (when software was smaller, but the tools were far more primitive). The variation is enormous. One sometimes doesn't know until one tries.

    YMMV.

    .
     
  5. EmptyPockets thread starter macrumors regular

    Joined:
    Jan 15, 2008
    #5
    I will give it a shot and see where to go from there.

    Thanks for everyone's help
     
  6. spinyanteater macrumors newbie

    Joined:
    Oct 15, 2008
    #6
    I have been in a similar situation to you and as a starting point I recommend the really excellent (and free) pdf from Cocoalab called 'Become an Xcoder':
    http://www.cocoalab.com/?q=becomeanxcoder

    I am now working through Kochan and find it a really good book and also the only book that I have found that teaches Objective-C without assuming knowledge of C or other language. Although the new edition isn't out yet, you can buy most of the book now as a pdf from RoughCuts:
    http://safari.informit.com/9780321605559

    When I finish Kochan I intend to work through Hillegass. I've already worked through several chapters but I wanted a firmer grasp of Objective-C before going on. There's a great line in the Hillegass book to encourage beginners who are finding it difficult: "This is hard, and you are not stupid". In other words, keep trying! This is now my mantra when I get stuck :).
     
  7. wizard macrumors 68040

    Joined:
    May 29, 2003
    #7
    Yep we all learn differently.

    True i cant dismiss that. I pointed out a college course because I see advantages in the learning process. Mostly because you develop relationships with fellow class members. The other thing is that hopefully the program is done well enough that bad habits are supressed.
    Depends on what you are after. The game may have been a success but what about the code. Was it maitainable and well designed?
    Well I can certainly agree with trying. There is nothing worst than people that never try. But along with trying it doesn't hurt to stack the odds in your favor.

    Dave
     
  8. cpatch macrumors member

    Joined:
    Sep 17, 2007
    Location:
    San Diego, CA
    #8
    Who cares? Unless you're programming for someone else I'm all for the "code now and refactor later (if necessary)" approach. Creativity does better with minimal structure. YMMV.

    Craig
     
  9. JonnyThunder macrumors member

    Joined:
    Aug 16, 2008
    #9
    yeah, I understand that viewpoint. But also, better written code now means less bugs and less support time later. It also means expansion and reusability of code.

    At any rate, I started to learn knowing nothing about Mac, C or Obj-C. I started with books on C, then moved to Stephen Kochans book on Objective-C and am about to start Aaron Hillegass book on Cocoa / Obj-C.

    Perhaps you could fasttrak by attending one of the Big Nerd Ranch courses on Objective-C. They claim no prior knowledge of C is required.
     
  10. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #10
    In business, the goal is success, but there are trade-offs with any strategy. There are lots of software projects which were massive failures due to poor design. But there are also many examples of someone getting to market first by just doing it, and ending up with an insurmountable market advantage over companies with far more elegantly engineered initial solutions that came to market later. I mean, have you ever looked at a disassembly of Gates and Allen's Altair Basic? Yikes!

    .
     
  11. dougdawson macrumors member

    Joined:
    Aug 24, 2008
    Location:
    Austin, TX
    #11
    I have some major issues with Kochan's current book on Objective-C. That said, his book on C is probably the best tutorial ever written for that language. You have to know that stuff. Buy and read the C book, work through it aggressively. Wait for the new edition of Kochan's ObjC book, maybe it will be decent.

    Without a solid background in C, you will be lost at the first non-trivial turn.

    Doug
     
  12. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #12
    I suggest learning a simpler and safer interpretive language first before jumping into a compiled language. Perhaps Python, Ruby or Javascript (for us old-timers, it was Basic), where you can get a useful learning app with only a dozen lines of code. Or with Dashcode, you can try your hand at small web apps for the iPhone. This may only take a few weeks. Then move on to the fundamentals of plain C, then Obj-C.

    If nothing else, learning more than 1 programming language will help you better understand the underlying concept of developing and debugging algorithms, rather than just one language's details.

    .
     
  13. dougdawson macrumors member

    Joined:
    Aug 24, 2008
    Location:
    Austin, TX
    #13
    I respectfully disagree. There is no other god than C. C is the Sagarmatha of languages. All benefits flow from her fertile loins. Interpretive languages are a distraction from the voodoo that is an understanding of the dark corners of this bare-metal proto-language. In an earlier, more civilized time, we would talk to the machine directly. Now, with multiple platforms to support, C and gcc are the new common denominator. Know this. Nothing else matters, and don't waste your time pretending that it does.

    Doug
     
  14. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #14
    In earlier, more primitive times, we would talk to the machine directly.

    And the true masters of the darkest voodoo arts still do (very very selectively), for only they understand the detailed performance and size implications presented by the machine itself, which leave lesser coders attempts at porting high magic futile. Hidden in their box of the very strongest incantations are books by Knuth.

    All others depend on whatever incantation scraps that the compiler optimization and OS driver and library wizards toss to them.

    IIRC, most top university CS programs still require, or at least recommend, at least one course in hardware architecture and the performance implications implied (Hennessy & Patterson's textbooks, et.al.)

    .
     
  15. cpatch macrumors member

    Joined:
    Sep 17, 2007
    Location:
    San Diego, CA
    #15
    Yep, back then all we had were zeroes and ones. And sometimes we'd run out of ones.

    Craig
     
  16. JonnyThunder macrumors member

    Joined:
    Aug 16, 2008
    #16
    Lol... I like this guy. He talks like I do (except with a more prehistoric slant)

    :D:D:D
     

Share This Page