Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Ap0calyps0

macrumors newbie
Original poster
Oct 26, 2011
1
0
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.
 
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.
 
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
 
As an Amazon Associate, MacRumors earns a commission from qualifying purchases made through links in this post.
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.
 
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.

Once you've learned C, move on to Stanford's free iOS programming Lectures available on iTunes U.
 
I'm a newbie when it comes to programming, but I'd like to learn how to program for iOS.

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.

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?

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.
 
Last edited:
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.

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
 
Last edited:
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.

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?
 
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?

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.)
 
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?

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!
 
C and Python are nice languages.

Get a copy of K&R "C Programming Language" and start reading! :)
 
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.

C and Python are nice languages.

Get a copy of K&R "C Programming Language" and start reading! :)

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.
 
Call me old school, but I think all programmers should start by learning C.

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?
 
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.
 
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
 
...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?

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.
 
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?

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.

----------

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.

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.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.