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

ste1989

macrumors member
Original poster
Jun 11, 2009
73
0
EDIT: Whoever moved this to programming section thankyou, I meant to post it there, I thought I was on that forum when I posted it ! Didnt even notice it was in apps :p


Hey,
Firstly sorry if you think this topic has been raised lots before, but I couldn't find much about it, and if you don't have anything useful to say here, then press the back button :)

Anyway as background, Im in high school and want to learn to program. i have taken advice from these forums before and learnt the very simple basics of C, not in detail.
Then I moved onto objective C, and started reading a book (programming in objective C) about it. I got only a few chapters in, and then i had no time to carry on learning because of school work.

Wanting to carry on learning now, I got a book Learn Objective C on the Mac, because I learnt the basics of C from the other book in this series, and found it very simple, and clearly laid out for me.

In just one night tonight, I have revised what I knew, and learnt more.
Im still just begining though.
I know concepts of OOP, how to use BOOL simply, NSLog and simple stuff and other basic stuff like that.

Now, what I would like to ask you
I know you may say it depends on the person/their motivation determination etc, but as a rough guide, how long should it take me to learn it enough to venture into making an App. Obviously I know I cannot learn the WHOLE of Objective C, as thats nearly impossible.

Perhaps you could say how long it took you to start from scratch to making an app (and what the app was).

Any information/help is useful to me, I would really like to learn this, and seen as Im on school break for the next 3 weeks, now would be an ideal time to get stuck into it.

TY!! :D
PS. Its made me realize how difficult it is, and often now donate to apps, rather than geting free/trial/torrented versions!
 
Learning the whole of objective C is certainly possible. Learning the whole of Cocoa may be another matter.

In any event, if you understand basic computer science concepts like pointers/memory management, data structures, computational complexity, etc., then you should be able to start writing apps in no time. Otherwise, I'd first sit down and learn the basics of computer science.
 
How long before you can make an app? Anywhere from a couple of weeks to a couple of months, depending on how easily you pick up things.

How long before you can make a good app? Probably a few years.

The only way to become a good programmer is to write lots and lots of code. It's easy to write bad, inefficient, power-draining code that does what you want it to do. In order to write good code, you have to write lots of bad code, and understand how it could be done better. No one ever "finishes" learning to program. You can't become an expert programmer by reading books. You have to build up a repository of experience, and then learn how to apply prior experience to current projects.
 
I happen to be in almost the exact same situation (except I'm a couple years younger). I'm currently reading a book called Programing in Objective-C 2.0 by Stephan G. Kochan. For iphone apps read the book Beginning iPhone Development by Dave Mark & Jeff LaMarche. Its a great book but you definitely want to know Objective-C (or C) before starting. I'd imagine it would take you less than a month from the time you started it to develop and publish a fairly sophisticated app. Anyways good luck
 
The only way to become a good programmer is to write lots and lots of code.

I would say lots and lots of working code. Writing code that doesn't work is easy. Getting it to work means finding and fixing bugs, learning how to avoid errors, figuring out the tools (like debugger, assertions, analyzers), etc.
 
I would say lots and lots of working code. Writing code that doesn't work is easy. Getting it to work means finding and fixing bugs, learning how to avoid errors, figuring out the tools (like debugger, assertions, analyzers), etc.

True. By the way, I'm not trying to discourage anyone from learning to program. I'm just saying that, realistically, lots of people vastly underestimate the difficulty of programming. For example, I learned C++ almost 10 years ago. I didn't write C++ I could be proud of until about 3 years ago. And even today I still don't know everything about it.

Thankfully, C and Objective-C are simpler, and it's definitely possible to learn them inside out. I think the only one who knows C++ inside out is Mr. Stroustrup. :)
 
How long.?

If you were a student at UCLA comp. sci department, they are on the quarter system and have 10 week classes. In the first class students there write apps to simulate a vending machine. There are commands to insert money and select the product and the machine gives change and food. This is a reasonable project in a 10 week "programming 101" class.

I think my first application was even simpler. It was a game. There are two buttons to click. Click the "correct" button and you win, lose if you click wrong. (Yes, I know no one every wanted to play a second time.) I was able to do this within weeks. I just modified an example from a book.

The first "real" non toy app had to wait untill after graduation. I got to work on an air defence radar.

The thing isthat you will need to know more than just programming. Say you are writing a book keep program, you would need to know acounting. If you are controlling a model airplane then yiu need to know that. So pick what you know. That is why my school asignments where for thing "everyone" would know. I think we wrote firmware for a microwave oven as an exercise too.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.