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

laurenashley

macrumors regular
Original poster
Jun 24, 2013
225
65
Bloomington, IN
Hey everyone! I'm Lauren and I'm a college student majoring in informatics with a cognate(or specialization) in human-computer interaction and a minor in computer science.

I want to get my hands dirty and learn all the basics of programming, hopefully to lead up to developing OS x and iOS applications in the future. I was curious if you guys have any favorite books and/or websites that helped you out! I was looking at the iTunes U and found iOS development but it assumes the viewer has previous programming knowledge.

If this isn't the right place to ask please let me know!
Please and thank you!!!
 
"Programming in Objective-C by stephen kochan" was a bit to much to understand when I first started to program. I stepped back to the basics of C to learn that first with "Learn C on the Mac" book. When I got the hang of it I then stepped back in to Objective-C and it was much easier to learn. Objective-C is built on top of C so it is a good place to start.

If you do start with Objective C and get totally lost, step back to C or even Python and start to get the hang of it. That is how I figured it out.
 
A Book on C

I learned to program in C using "A Book on C" by Al Kelley and Ira Pohl. I highly recommend it. Objective C is a simple set of extensions to the C language that allow it to be used for object oriented programming. I can't see how one would learn Objective C without learning C first. If you understand C, you will be able to understand the Objective C syntax in a few hours.

OSX and iOS are programmed using the Cocoa Framework. I learned to program the Mac using Cocoa by reading the book "Cocoa Programming for Mac OS X" by Aaron Hillegass and Adam Preble. This is a really great book about objective C and Cocoa.
 
Thanks guys! I will definitely look at the Book on C and then look at the Objective-C book! I was looking at that objective c book but i didn't know if I should learn something else before that!
 
After you have the basic syntax under control, there's a lot of fun tutorials on http://www.raywenderlich.com/tutorials that are pretty easy to follow. Not all of the tutorials have been updated for iOS 7, but a lot of the big ones have been. They have tutorials from absolute beginners to more advanced. I found it nice because there's tutorials for basic stuff, 2d games, using unity, databases, maps, etc. Seems like whatever you're interested in, they probably have at least one tutorial for it.

You mentioned you searched iTunes. If you didn't find it already, definitely check out the Stanford (free) course through iTunes U. It's not for absolute beginners but it definitely doesn't take a lot of experience before you can follow and understand everything that's being said. A nice bonus is that in addition to the videos you can get the slideshow as well for future references.
 
Thanks guys! I will definitely look at the Book on C and then look at the Objective-C book! I was looking at that objective c book but i didn't know if I should learn something else before that!

C is a great fundamental language to get some idea of flow control (if, else, while, for, loops, continue, break, return, etc) and variables and how they interact. that's how is started some odd 15 years ago.

I can only speak for myself, but i then moved on to perl, a language that is quite simple in terms of variables and very flexible in the context of flow control.

only after doing that for a few years did i actually move to object oriented programming.

my best advice is, don't get discouraged by code not working, google those issues and errors, fix them and move on to the next program/task of interest.

Set goals of what you want to program for the week (1. week: a small calculator, 2. week: a program that spits out the actual names of the numbers 1-1000, like one, two, three, ten, seventeen, twenty...)

that will keep you in focus of your goal, and you'll get introduced with various ways on how to approach certain problems.

finally: be aware that coding is hard, and be surprised when things are easier than expected :)
 
One tip: begin programming with a text editor like vi or emacs. Save the IDE until you are comfortable with the language.

I don't think C is poor language for beginners; however, it has a steeper learning curve than others.

My 2c.

Good luck!
 
I learned to program in C using "A Book on C" by Al Kelley and Ira Pohl. I highly recommend it. Objective C is a simple set of extensions to the C language that allow it to be used for object oriented programming. I can't see how one would learn Objective C without learning C first. If you understand C, you will be able to understand the Objective C syntax in a few hours.

OSX and iOS are programmed using the Cocoa Framework. I learned to program the Mac using Cocoa by reading the book "Cocoa Programming for Mac OS X" by Aaron Hillegass and Adam Preble. This is a really great book about objective C and Cocoa.

I'm back in school going the computer science route, and was bummed that there's no course in C coming up for me anytime soon. Looks like I'm going to have to learn it on my own. So not to hijack, but thanks for the book recommendation.
 
One tip: begin programming with a text editor like vi or emacs. Save the IDE until you are comfortable with the language.

...

If you've never used those text editors before, I'd strongly recommend against learning those right now. I've seen people who are very productive in those text editors, but I imagine they spent months or years practicing and memorizing how they work. If you want a good text editor I'd recommend Sublime...
 
...

If you've never used those text editors before, I'd strongly recommend against learning those right now. I've seen people who are very productive in those text editors, but I imagine they spent months or years practicing and memorizing how they work. If you want a good text editor I'd recommend Sublime...

Yea, I have to second that. Those two are a bit esoteric for a beginner.

My revised advice (I assume we're talking Mac) is code in TextEdit and compiling it in the terminal, or just stay in the terminal and use nano.

Sublime is $70, too much to expect from a student.
 
Yea, I have to second that. Those two are a bit esoteric for a beginner.

My revised advice (I assume we're talking Mac) is code in TextEdit and compiling it in the terminal, or just stay in the terminal and use nano.

Sublime is $70, too much to expect from a student.

Sublime has a limitless trial version - I treat it just like I treat Unity. I'll keep using the free version until I'm at the point that I make $100K annually using it. Then I'll pay the asking price. I'd expect everyone else to do the same kind of thing.

Looking at my projected financials... I probably won't hit it this year but I might be at that point next year if I get a promotion that I'm aiming for...
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.