Learning programing for Iphone

Discussion in 'iOS Programming' started by mimaro, Jun 2, 2009.

  1. mimaro macrumors newbie

    Joined:
    Jun 2, 2009
    Location:
    Portugal
    #1
    Hi. I'm new to programing and now understand that to program for Iphone I'll ned knowledge on C language, Objective C, Cocoa and apple's SDK. Where in the UK, Brasil or USA can I take training for this. Is there any university that lectures on this? I'm staring by buying some books but would like to have someone's help and take classes.

    Thanks,
     
  2. mimaro thread starter macrumors newbie

    Joined:
    Jun 2, 2009
    Location:
    Portugal
    #4
  3. Revelation78 macrumors 68000

    Revelation78

    Joined:
    Dec 18, 2008
    Location:
    North Carolina
    #5
    What do you think Obj-C is?
     
  4. mimaro thread starter macrumors newbie

    Joined:
    Jun 2, 2009
    Location:
    Portugal
    #6
    I think Objective C is a language that came from C. Directed for objects. I have Iphone and a Mac. Just wanna know where I can learn to program, other than reading books, that I have already. Thanks.
     
  5. dougdawson macrumors member

    Joined:
    Aug 24, 2008
    Location:
    Austin, TX
    #7
    Don't buy that one, it's the first edition. The second edition is the one you want, it's been out since December or so. The primary difference is that it's been updated for Objective-C 2.0, which is a more evolved beast, and what the iPhone requires.

    Objective-C is the carnal union of C and Smalltalk. If you're new to both, then you definitely want to do a careful study of Kochan's Objective-C 2.0 book. Work through all the exercises.

    I personally don't like the Kochan book. Kochan starts off by assuming that you know C, and then presumes to teach it to you, in the sense that certain things that are obviously pointers are not identified as such until much later in the program. Kochan's book on C proper, OTOH, is magnificent, and the best ever written. If you really wanted to understand what was going on, you would read that first, and then skip over the chapters on C in the Objective-C book. (I think he wrote the Objective-C book that way because the publisher was holding a gun to his head, or something like that.)

    Doug
     
  6. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #8
    Learn to program first. Then learn to program in C. Then dive into Objective C and the SDK.

    Unlike Smalltalk or Squeak, Obj-C on an iPhone is not a "safe" environment for beginners.
     
  7. dougdawson macrumors member

    Joined:
    Aug 24, 2008
    Location:
    Austin, TX
    #9
    I agree with you there, but I have to ask, in all seriousness, before C there was _what_?

    Doug

    Just say, Let's not go back TOO far into the primordial ooze... Etc.
     
  8. dejo Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #10
    B and A. ;)

    Seriously though, C wasn't the first programming language. Among many predecessors: Fortran, Cobol, Pascal, Basic, APL...
     
  9. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #11
    Also Lisp and Simula, which are reported to have influenced the design of Smalltalk. And BCPL (of which B was a stripped down implementation).

    The history of computers is a fairly interesting subject...
     
  10. seanb511 macrumors newbie

    Joined:
    May 24, 2007
    #12
    I know this has already been answered, but currently Stanford(as an upper div, and if you are in the area i think it would be very difficult to sneak into that classroom as most people who dont even have any knowledge in programming want to make a iPhone app). is the only school that I know of teaching Iphone development classes, but the good thing is that they are accessible on itunes.
    Tuaw has a series now dedicated to programming for the mac and iphone, I found article very helpful.
    Starting with objective-c
    I actually purchased these books, i haven't finished them but the best one so far was Programming in objective-C 2.0(has a chapter or two of iphone development in it as well[someone already put the link to the earlier edition of this book), one of the first few pages the other contradicts the believe that you need to know see to understand C to understanding/learn objective C.
    Personally any popular modern OOP(object orientated programming) language should do fine. That the hardest part for beginning programmers, is understanding functions/methods and also how they relate to OOP. functions and methods are the building blocks of modern day programming, if you understand those and how to use them, then its just learning the syntax of the language, and a few other things that the language does itself. One thing that is really helpful is the junk filter OSX has built in. It helps will being memory efficient. the Iphone does not have that feature, so understanding memory management is very important(i believe someone already mentioned it). C does help understanding memory management a little better because it is more low level of the high-level programming languages. Low-level languages(if your not familiar with it) are closer to machine language(0's and 1's). Nothing can be as powerful as writing the 0's and 1's( they all have to be compiled into 0's and 1's and translation sometimes because a problem when it comes to efficiency) but it just would take you way to long to program with todays demands, it takes a lot of code just to add(2+2) compared to higher level where it would just be 2 +2 lol.
    I know I said a lot, but I hope it helps
    Good Luck, and dont give up.
    (there will be days where you want to pull out your hair, especially if your learning it on your own).
     
  11. skochan macrumors regular

    Joined:
    Apr 1, 2006
    Location:
    California
    #13
    No, just the opposite, I start off by assuming you don't know C.

    Thanks for that. :)

    No, there was no weaponry involved in writing this book.

    It was completely my idea to teach Objective-C without assuming prior knowledge of C. I still think that's right approach, as I've espoused elsewhere in this forum, on my own forum, and in the Intro to the book.

    Cheers,

    Steve Kochan
     
  12. dejo Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #14
    Thanks again to Steve Kochan, not only for a great book but also for taking the time to post here and give us the real scoop "straight from the horse's mouth".
     
  13. dougdawson macrumors member

    Joined:
    Aug 24, 2008
    Location:
    Austin, TX
    #15
    Somebody can claim to work with objects, but if they don't _meaningfully_ _understand_ that when you declare an object variable in Objective-C it is actually a pointer, then they can't honestly say they know what they're doing. You kick into action with this going on, and introduce pointers halfway through the book. IF they had already read your C book, and IF you had then been able to neatly get this IMO serious pedagogical issue out of the way, a raft of misleading statements later on in the book could have been avoided. That's what I meant.

    All of this is meant in the spirit of constructive criticism. A third edition could be spectacular.

    I learned the subject from Brad Cox's book, sadly out of print.

    Doug
     
  14. skochan macrumors regular

    Joined:
    Apr 1, 2006
    Location:
    California
    #16
    We can agree to disagree on this topic, and so I'll just explain my thoughts on the matter one more time here.

    You can teach someone how to work with C arrays before they learn how to work with pointers (as I do in my C text). The idea that an array is an organized collection of data is the concept to learn first. The relationship between an array and a pointer makes working with arrays much easier and efficient and aids in the understanding of how they are organized and accessed.

    I think the same analogy applies to objects. Learning the principles and concepts of working with classes and objects is more important than understanding pointers, at least initially. Understanding the relationship between the two is necessary, but that can come later.

    Cheers,

    Steve Kochan
     
  15. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #17
    Alas, Obj-C does not allow prohibiting the misuse of bare pointers into memory, and sticks a whole bunch of them right in the programmer face at the very beginning. Without any access protection, and without some understanding of what those raw memory references can do, you've given a beginner some colorful bottles containing poison, labeled "do not open".

    At least Basic hides most of those dangers.

    And Pascal type and bound checked any pointer use for the novice.

    And C (and ASM) explains the dangers (and usefulness so that that beginners actually read that chapter).

    Maybe the first chapter of a book on Obj-C for beginners can start with assembly language? :)

    Or if you want to teach pure OOP, the first chapters might want to be strictly on something more like Squeak.

    Not Obj-C.

    imho.
     
  16. skochan macrumors regular

    Joined:
    Apr 1, 2006
    Location:
    California
    #18
    What can I say, except NEEEEIIIIIIGGGGGHHHHH !

    :D
     

Share This Page