Learning Programming - Input Please

Discussion in 'iOS Programming' started by Ap0calyps0, Oct 26, 2011.

  1. Ap0calyps0 macrumors newbie

    Joined:
    Oct 26, 2011
    #1
    I'm a newbie when it comes to programming, but I'd like to learn how to program for iOS. I have a patchwork understanding of programming in general, and I know I may lack some foundations, so I wanted to ask here what might be a suggested course of study to do at home to learn to program, ultimately for apps. I'm not looking to make money through the App Store or anything--just for the enjoyment of it in the few hours per week I have available. Any suggestions are appreciated!

    Thanks.
     
  2. larswik macrumors 68000

    Joined:
    Sep 8, 2006
    #2
    This question is asked almost everyday here. When I started I started with the book "Learn C on the Mac" about 18 months ago. Other people will suggest that you start with Objective-C. Objective-C was to difficult for me to start with so I went back to C and got a good grasp of that.

    Everyone is different.
     
  3. balamw Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #3
    You could also try Aaron Hillegass' new book. Objective-C Programming

    It provides pretty much all you need to know of C in the first 70 pages and then moves on to Objective-C.

    Personally, I find Kochan's book more in depth and integrate. As larswik says everyone is different, but programming is best learned by doing.

    B
     
  4. smashatom macrumors newbie

    Joined:
    Oct 29, 2011
    Location:
    Taipei
    #4
    Old school

    Call me old school, but I think all programmers should start by learning C. And the best C book out and ever published is The C Programming Language by Kernighan and Ritchie.

    Most programming languages in use today have some syntactic similarity with C.
     
  5. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #5
    Once you've learned C, move on to Stanford's free iOS programming Lectures available on iTunes U.
     
  6. firewood, Oct 29, 2011
    Last edited: Oct 30, 2011

    firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #6
    Learning to program is hard (some people flunk out!). Learning to program for iOS makes it even harder.

    To give yourself the best chance, try the easiest programming book(s) you can find, maybe even one from the kids or teens section of your local library. Or a "dummies/idiots" type book. Any computer programming language will do, since after you learn one programming language under you belt, to a decent non-trivial competence level, the next one (say C or Objective C) will be much much easier.

    Some people can handle something this hard or even more difficult (some kids have jumped straight into complex iOS apps). Some people are more likely to succeed with a gentler path (some people flunk out of beginning CS classes or almost so without tons of help). YMMV.
     
  7. skochan, Oct 30, 2011
    Last edited: Oct 30, 2011

    skochan macrumors regular

    Joined:
    Apr 1, 2006
    Location:
    California
    #7
    I learned C when K&R was the only book on the language (and C was only commercially available from one or two outside vendors). I was a comp sci major and had to say that, at the time, it was not the easiest read for me. That's what prompted me to write Programming in C, to try to make it easier for others who followed me.

    What I've discovered over many years of writing is that people do have different learning styles (and there are even tests that you can take to figure out what type of learner you are). Some like a terse book, some like many examples with more detailed explanations and diagrams, some need more structure, like a classroom environment, and some like to watch demonstrations, such as from a video. What's great now is that there are many choices available and hopefully a new programmer will be able to pick a single or combined approach that works best to fit their personal learning style.

    By the way, as I've stated elsewhere, I don't think you need to learn (all of) C before Objective-C.

    Finally, I just wanted to personally acknowledge the enormous contribution made by Dennis Ritchie and the impact he has had on my career.

    Cheers,

    Steve
     
  8. iPhone4UK macrumors 6502

    Joined:
    Jun 15, 2010
    #8
    I think I'm going to pick this book up just one question, do i need any previous coding experience? Can i start C with out knowing anything?
     
  9. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #9
    You should know Algebra I and the maths that come prior to that. Although honestly, I learned Algebra I simultaneously with C (I was actually kind of piss poor at Algebra until I learned C... I went on to become a member of the state all star math team... so... yeah, I attribute that to C.)
     
  10. larswik macrumors 68000

    Joined:
    Sep 8, 2006
    #10
    One thing that helped me was not to rush the learning process. I would take the example in the book and then try to rewrite it different ways and change it till I understood the concept. The first part of many of the C books are easy. But when I got into memory, functions and data structures my brain slowed to a crawl. When you understand C most everything applies in objective C. When you learn Functions in C you will understand Methods in Objective-C since they are very similar.

    But I have to say that programming is a lot of fun and better then watching TV on a Friday night. You will enjoy it!
     
  11. Dnix macrumors 6502

    Joined:
    Dec 9, 2010
    #11
    C and Python are nice languages.

    Get a copy of K&R "C Programming Language" and start reading! :)
     
  12. ChristianJapan macrumors 601

    ChristianJapan

    Joined:
    May 10, 2010
    Location:
    日本
    #12
    Agree, K&R was also my start many years ago in the wonderful world of C; and many nights searching for the pointer overwriting the wrong memory ... That was fun. Don't get me wrong: a good experience still helpful today. I still enjoy to read source code I wrote 20 years ago.
    After C I learned C++; did 12 years ABAP and now Objective C for fun. The way to Objective C was very short; just needed to get used to memory management and the setter/getter stuff/ivar conventions.
    Direct from C to Objective C is ok with some good book. But get K&R first.
     
  13. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #13
    A top tier university used to start their computers for non-majors survey class by teaching assembly language...

    ...a simple one for a paper computer. I think Edmund Scientific still sells these, Cardiac or something was the name.

    C has been called an assembly language for PDP-11's (and later for RISC processors).

    Before they were obsolete, I used to recommend simple Basic or Logo. Not sure what the equivalent replacement is these days, as every new development environment is far more complicated than Basic or Logo on an Apple II. Maybe Python with a graphics enabled IDE? Or Javascript running inside a browser debugger?
     
  14. jiminaus macrumors 65816

    jiminaus

    Joined:
    Dec 16, 2010
    Location:
    Sydney
    #14
    Alice perhaps. http://www.alice.org/
     
  15. iPhone4UK macrumors 6502

    Joined:
    Jun 15, 2010
    #15
    So I have ordered the book and can not wait for it to arrive. Few questions what would you lot say best way to learn is? Write down, taking notes typical lecture style? Type away program for the get go? What best way to make it go in and stay there? I have a basic understanding of methods etc but nothing concrete.
     
  16. balamw Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #16
    Everyone is different. What works for us may or not work for you. How do you best learn things.

    I agree with Hillegass in that a big help to learning new things is a well rested mind.

    FWIW, my 10 year old learned Scratch (find it at MIT.edu) this summer and it seems like a worthy successor to Logo/BASIC for today's youth.

    As with others here I first learned BASIC back in the 8 bit days. K&R never resonated with me so I spent many years writing Pascal-like C.

    B
     
  17. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #17
    Close the book and see if you can write a program to solve the problem without opening the book. Vary the problem. Maybe try varying the solution. Then open the book and move on.
     
  18. smashatom macrumors newbie

    Joined:
    Oct 29, 2011
    Location:
    Taipei
    #18
    It helps to know how computers work, bits, bytes, etc... Other than that, you can start off with it. Expect it to be difficult to start though. Remember that C is not considered an easy programming language but it gets you really grounded in how all programming languages work.

    FWIW, a lot of schools (universities even) are teaching Java first now. It's not a bad language, but it really hides you from a lot of basics. My company has been interviewing some folks with a Java background. The majority of them wouldn't be able to tell you some really basic functions of programming such as bit shifts, logical operators, etc... Assuming your goal is to write iOS apps, Java won't help you there at all for iOS.

    ----------

    Agreed on this approach. People approach programming from different angles, but I like to think of it as writing an essay or a book. Just like you have mastered the English language and can logically put together phrases, sentences and paragraphs - programming is really no different.
     

Share This Page