Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
I suggest you to try "iOS Programming: the big nerd Ranch guide". As it is the best seller till now. So it will be very helpful for you.
 
I suggest you to try "iOS Programming: the big nerd Ranch guide". As it is the best seller till now. So it will be very helpful for you.

I am using the Obj-C version. Im currently on Chapter 18 and so far it's been great. The website is also helpful.
 
The way I've always learned a new language was to think of a specific project I wanted to create, and then I implemented it. These projects should not be huge, but big enough to require some hours of work.

For example, one project I used to learn Objective-C was making a project to generate large arrays of random objects, run a multithreaded sort algorithm on it, run some other "work" on it, and then spit out some output. Utterly meaningless, and everything I did could be done with standard libraries a lot quicker, but it taught me syntax, Objective-C's handling of classes and inheritance, Objective-C's memory management, and it took a bit of time to think about everything.

Now, of course, I have a strong theoretical background which lets me jump right into a project like that in an afternoon and come out understanding a lot of Objective-C's quirks (and that is just one learning project, to be clear, not the only one I did).

If somebody is brand new to programming, they probably wouldn't even be able to imagine such a project, much less know the first step in implementing it. And yet, what I did is a joke compared to an actual iOS app.

It absolutely makes sense to learn a programming language as a beginner, with all the things that entails. Everything we do in computing is building on what we learned how to do before. For somebody starting from nothing, they should really write a Hello World! program. Then figure out how to take in input from a console and manipulate it. Write a calculator program that parses input to identify operators. Build a Car class and subclass off of it. Make a Car array filled with Convertibles and MiniVans and PickupTrucks and bubble sort through it by carSpeed(). Write a recursive algorithm that solves basic chess puzzles. Write a program that reads in a big file of text, figures out probabilities from the language, and outputs a file of random text that beats typing monkeys and is actually mostly readable.

Yes, eventually, you need to learn GUI, you need to learn Cocoa and other APIs. A lot of the hard work is already done for you and you can take advantage of a lot of other people's code. But if you don't even know how to make a for loop, or parse a string, or understand the theories that go into making efficient code, I don't know how you're gonna learn to make the next big iOS app.

This is a great post and makes a lot of sense to me. I'm currently learning objective c and was thinking of creating a program that did something which would help me learn the language as you did. I love the car idea..... LOTS of options there! Excellent!

----------

I am using the Obj-C version. Im currently on Chapter 18 and so far it's been great. The website is also helpful.

Did you start with the Objective C for iOS version of the book or just the Objective C book? There are two separate books. I do have some dev experience and wondered if I could have just jumped right into the iOS version instead of going with the regular book first.
 
This is a great post and makes a lot of sense to me. I'm currently learning objective c and was thinking of creating a program that did something which would help me learn the language as you did. I love the car idea..... LOTS of options there! Excellent!

I've also been reading through this thread as someone looking for a "best" starting point on programming, and that post really resonated with me too.

Thanks mrxak!
 
This is a great post and makes a lot of sense to me. I'm currently learning objective c and was thinking of creating a program that did something which would help me learn the language as you did. I love the car idea..... LOTS of options there! Excellent!

----------



Did you start with the Objective C for iOS version of the book or just the Objective C book? There are two separate books. I do have some dev experience and wondered if I could have just jumped right into the iOS version instead of going with the regular book first.
I'm using the Obj-C book first. I too could've done the iOS book but this one was highly rated on Amazon. So far I love it and I understand exactly what i am doing and why. That makes me feel good about myself and what I am doing. Plus I am getting my hands dirty in XCode. I will move on to the iOS book if I need to after this book....(hopefully next week).

I'm more determined now. I have an idea for what I would like to build when I am finished but I want to get some background then build a version that's stupid simple....then add some stuff to it overtime.
 
I am in the same boat, currently working on learning python. I have minimal programming experience. I programmed in basic in a high school class in the late 80's and took a Java class later on. I do understand the concepts and am currently working through this.

http://learnpythonthehardway.org/book/

Good luck
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.