This as first language?

Discussion in 'iOS Programming' started by Simmons, Feb 14, 2010.

  1. Simmons macrumors newbie

    Joined:
    Dec 28, 2009
    #1
    Is objective-c/cocoa touch a good first programming language. If not, what should I start with?
     
  2. forcesteeler macrumors 6502

    Joined:
    Oct 1, 2007
  3. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #3
    Almost all programming languages are general purpose enough to be shoehorned into use for any purpose. But Objective C's design goals did not include it being a good introductory educational language. In fact, I might even claim that a language designed to be excellent for code reuse is a bad paradigm for education. It's better for students to learn how certain algorithms work for themselves before being able to brainlessly reuse them.

    I would also learn to program first in a language for which there is tons of truly educational material available (even for school kids), and move on from there.

    Perhaps Squeak, Scheme or Basic, then more dangerous C or C++, then Obj C for professional RAD.

    Obj C is really just a thin macro-processor on top of a small runtime within a compiled C program. So you'll eventually need strong skills in C to really know what's going on underneath, in order to debug and write the most efficient code.

    imho
     
  4. 63dot macrumors 603

    63dot

    Joined:
    Jun 12, 2006
    Location:
    norcal
    #4
    At my junior college, which later sends people right into the field (this is silicon valley so it's very common) or onto a four year college has a three tier process.

    Year 1: Beginning programming and Intermediate Programming, which translates to intro to C++ and C++ semester two

    Year 2: Two advanced core classes which can be chosen from Visual Basic, Java, and C++ game programming.

    OR

    Year 2 (network engineer track): Intro to networking (such as Cisco or Windows Server), and a later Cisco course which will introduce Cisco IOS, or a later MCSE track course.

    ..............

    I ran this by my PhD programming professor friend, and he said it should be the other way around with C++ taking up the two semesters of the second year at the junior college. Year 1 should start with Visual Basic, and then Java.
     
  5. Simmons thread starter macrumors newbie

    Joined:
    Dec 28, 2009
    #5
    We own a copy of Head First Java from when my brother (now a CS major at GA Tech) was doing his own self teaching. Should I read through that first?
     
  6. drf1229 macrumors regular

    drf1229

    Joined:
    Jun 22, 2009
    #6
    I started with web development, php, javascript, and html, then moved on to java and basic and finally to C/-C
     
  7. Simmons thread starter macrumors newbie

    Joined:
    Dec 28, 2009
    #7
  8. drf1229 macrumors regular

    drf1229

    Joined:
    Jun 22, 2009
    #8
    Well, I learned web design mostly from http://www.w3schools.com, but I heard it has some flaws. Then, I googled Java tutorial and found some good tutorials. Then, I downloaded Visual Basic from the microsoft website, and learned from microsoft's guides. Next, I googled C tutorial and learned the basics from the web. Finally, I downloaded a bunch of apple sample projects and played around until I got the hang of things. If I needed help doing something, I would google it. If I had no luck I would ask at these forums.
     
  9. jeznav macrumors 6502

    jeznav

    Joined:
    Aug 10, 2007
    Location:
    Eh?
    #9
    I, (in order) started with BASIC, VB, HTML, Javascript, C++, C#, C, Assembly, PHP/SQL, and currently Obj-C :)

    I suggest start with C first then optionally you can learn C++ or jump right ahead to ObjC. But I also suggest learning C++ as it gives you an idea of OOP programming. ObjC confused me for a while but now I love it because of code readablity.

    Here is a good book to get started then work your way up:Learn C on the Mac
     
  10. kyzen macrumors regular

    Joined:
    Feb 8, 2010
    Location:
    Colorado
    #10
    Unless you have a reason to get into web development, I'd avoid PHP/Javascript.

    C is an excellent first language, Java isn't a bad choice either (though if your ultimate goal is Mac/iPhone programming, C is a better choice).
     
  11. dejo Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #11
    One of these is not like the others. Hint: it's not a programming language. (Sorry. Pet-peeve of mine.)
     
  12. kyzen macrumors regular

    Joined:
    Feb 8, 2010
    Location:
    Colorado
    #12
    Well if you want to get really technical with the word "programming" then a few of those don't quite fit ;)
     
  13. jeznav macrumors 6502

    jeznav

    Joined:
    Aug 10, 2007
    Location:
    Eh?
    #13
    Where? Oh...haha Well they are still "Languages". How's that? :D
     
  14. dejo Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #14
    Granted. :)
     
  15. Acorn macrumors 68020

    Acorn

    Joined:
    Jan 2, 2009
    Location:
    macrumors
    #15
    Like many others have stated start with c first. Objective c is an extension of the c language. when you read many objective c books they have the tendency to focus on whats been added. A dedicated book on c is filled with much more information you need.

    c is such an awesome language to learn. not only are many operating systems created with c but you can create anything right down to games and drivers.
     
  16. Avizzv92 macrumors regular

    Joined:
    Mar 23, 2008
    #16
    I might not fit in the usual mold, but I taught myself Objective-C without knowledge of C. Although it wasn't my first programing experience (C++ was) it was the first one I thoroughly pursued. I used Stephen Kochan's Objective-C 2.0 book and spent about 4 months reading it almost daily, I read it twice doing every single exercise and copied all the examples down. At times the console programs got dull but it helped to solidify the concepts. Perhaps since it wasn't truly the first time ever seeing a language it made it easier for me.

    If I ever need information regard C, his book also includes a lengthy chapter summarizing some of the key concepts of the C language. I used it just recently with my one iPhone Application for reference regarding arrays in C (I needed something quicker and more efficient then NSArray).

    I'm now learning Java but plan on purchasing Stephen Kochan's book on C in the near future.

    What ever you choose I wish you the best of luck!
     
  17. Simmons thread starter macrumors newbie

    Joined:
    Dec 28, 2009
    #17
    I think here I made it sound like i hadn't already started. In fact, I got up to More iPhone 3 Development: Exploring the iPhone SDK before I realized I couldn't do diddly ****. When I looked into it more, I came to realize my problem was Objective-c, and more specifically, my book. I read Learn Objective-c on the Mac instead of Kochan's book because it looked friendlier, but I think that might've been a mistake. Should I sell Learn Objective-c on the mac and get Steven Kochan's Programming in Objective-C 2.0 (2nd Edition)?
     
  18. Acorn macrumors 68020

    Acorn

    Joined:
    Jan 2, 2009
    Location:
    macrumors
    #18
    Kochan's book is the book im using right now and it was really worth the money. It turned out to be one of those books that you end up reading like halfway through it the first day you get it then read it again 10 more times because you learned so much.

    the only issue i ran in to besides my typing skills was the xcode i was using was newer then what was used in the book. so if you try and follow it step by step the picture doesnt look exactly the same. organizationally the new project window in xcode is slightly different. once you figure out that small difference its all good from there
     
  19. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #19
    It might not be the book. The problem might be that you need to learn to program first. I would pick an easier language. It doesn't need to be C. After learning one programming language, the second (and 3rd, etc.) still requires some time, but it should seem much much easier. Try seeing if there is anything useful in the kids section of your local library. There's got to be a book or web site on computer programming for "kids/dummies/idiots/grandparents/futurerocketscientists" where you say "doh, that was too easy". Start there and move up.
     

Share This Page