PDA

View Full Version : How Long Did It Takes You to Learn?




andreab35
Dec 19, 2008, 09:52 PM
Wirelessly posted (iPhone: Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_2 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5G77 Safari/525.20)

Hey guys!

I have a big interest in making iPhone applications, and I know it's not an easy job. I have no experience to any computeral languages.

So I'm guessing I have to learn C and take off from there. I downloaded some of Apple's videos to help me, but they didn't. Everything sounded like a foreign language.

My bigger problem is that I expect myself to know everything quickly, and it's not helping at all. I'm just becoming more frustrated.



So my question is, how long did it take you to learn to make software/iPhone applications?



CommanderData
Dec 19, 2008, 10:14 PM
I've been programming for 25+ years, and I'm still learning new stuff all the time. Not to discourage you, but if you've never programmed before you are picking a bad place to start...

detz
Dec 19, 2008, 10:19 PM
The reason it feels like a foreign language is because it is; do you think you could pick up French, Spanish or German in a week or two? If you've done programming in the past I would say you could jump in a create something useful in a few months but with no programming experience it's going to take a lot longer.

Don't let this deter you, programming is great and it's a awesome career and hobby but don't expect to just "pick it up" like playing checkers or solitaire. :p Also, as with a lot of things in life it's one of those things you have to really enjoy to be good at it. If you're doing to because you think it will make you money then it's a loosing battle, you will get sick of very quickly and will never reach the level you need to be at to create quality applications(Thus we'll have another fart, flashlight or speed-dial app on the store :mad: )

Anyways, enough babbling, grab some books* and start learning. If you like it, get some more books and learn more. If you've never programmed Objective-C(iPhone language) and C are probably not the easiest to pick up on.

*
http://www.amazon.com/Cocoa-Programming-Mac-OS-3rd/dp/0321503619
http://www.amazon.com/Absolute-Beginners-Guide-Other-Sams/dp/0672305100/ref=pd_cp_b_2?pf_rd_p=413864201&pf_rd_s=center-41&pf_rd_t=201&pf_rd_i=0764570684&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=12TJGB8NNYJB6S0CKGV0


To answer the question, how long did it take me to learn:
To learn Cocoa and Objective-C, the stuff for iPhone apps it took me about 2 weeks. BUT, I've been programming for over a decade professionally(I do it for 12 hours out of the day) so a new language is nothing once you understand the basics of programming. It's like asking a chef to use a new kitchen with new recipes, as long as they understand the basics of how to cook and what to use and when they should be able to adjust rather quickly. I can't say how long it took me to start programming in general, it was something I started doing with I was around 10 and it's just evolved but I learn new things everyday so it's a never ending process.

johnjay1776
Dec 19, 2008, 10:20 PM
Well, don't feel too bad. If you've never been exposed to any programming languages whatsoever, you'll have a steep learning curve ahead of you. The key is to believe in yourself and stay motivated.

I don't know that I would suggest learning the C language as a first stop in your journey since you have NO programming experience. There are others (professional programmers) on this board who might disagree with me but you might want to start out with a programming language that is a little more "natural" and language oriented. The C programming language has some concepts that apply to lower level programming that may not come natural to you without experience in a higher level language such as BASIC.

This is just a friendly suggestion though so take it for what you will. Others on here might disagree and feel that the C language is a good first stop on your way to your goal. Take in a few opinions/responses and see where that takes you. Good luck.

One last thought ... Don't compare yourself to other people in the length of time it takes you to learn something. The most important thing is the end result ... Did you learn it or not? Did you achieve your goal or not?

a5sk4s
Dec 19, 2008, 11:47 PM
http://www.cocoalab.com/?q=becomeanxcoder

From the web site: "This tutorial is written for non-programmers, and is aimed at levelling the learning curve as much as possible. In the best tradition, BecomeAnXcoder is released as a free booklet in pdf format under a CC Attribution license. It is also available online, simply follow the links below."

Once you get to the end of it, there are additional resources referred to in the PDF: "There are several very good books out there about Cocoa development. Programming in Objective-C, by Stephen Ko-
chan is targeted at beginners. Some books assume you have at least some of the knowledge you gained from this book.
We enjoyed Cocoa Programming for Mac OS X by Aaron Hillegass of the Big Nerd Ranch, where he teaches Xcode
for a living. We also enjoyed Cocoa with Objective-C by James Duncan Davidson and Apple, published by O'Reilly."

It is a steep learning curve, but every learner is different.

andreab35
Dec 20, 2008, 04:50 AM
Wirelessly posted (iPhone: Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_2 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5G77 Safari/525.20)

Guys, I really appreciate your input. It has really got me cheered up. :)
It's not that I want to make apps because of money- it's because I'd love to learn and try something new.
I will definitely try out your recommended resources, and I will take all of your advice with me.
Again, thank you so much. :)

liptonlover
Dec 20, 2008, 09:19 AM
I'd like to second what a5sk posted, the becomeanxcoder tutorial. It's the best one I've ever seen anywhere. As he said, it starts from the very beginning so anyone can use it. It teaches you enough C to get start in cocoa and objc. To best tell you how it helped, at the end I felt energized and really excited (and ready!) for more. Definitely start with it. One note, though, it's a desktop programming tutorial. This isn't a big problem I think though, because you should start there anyways. There's more tutorials and information for desktop, and the transition to iphone when you make it will be easy.

Another thing I always recommend is cprogramming.com. It's the best C and C++ site I've ever seen. Not only does it have starter tutorials, it goes into advanced topics. It also has a great collection of other sites, not even all of them related to a specific language. Some are just about AI, and stuff like that. If you can figure out how to write a C app in xcode, (I don't remember how but you'll be using the built in terminal debugger to run them) you can follow the tutorials. But you should at least read them if you can't actually do them.


One more tip. When going through hands on tutorials, experiment as much as you can! One of the ways I learn is by taking someones code and compiling it to see what it does, then I go through the code itself and mess with one number at a time to see what it does. This helps you learn by seeing where code is related to each other, and it gives you clues on how. There's a surprising amount you can learn that way. And it also helps when going through a tutorial because they can show you how to do something without telling what's going on. Well, experimenting is what helps you there, just like I said a moment ago.

Good luck!
Nate

firewood
Dec 20, 2008, 10:42 AM
How long did it take me? Over 30 years, on and off. But everybody is different. Some people never learn, even after a year of it in college. Some very talented types are off and running in just a few weeks.

Hit the computer programming section of your local library, read, and see how much you understand.

.

andreab35
Dec 21, 2008, 07:38 AM
Wow, even more great information! Thank you ever so much!
I've been doing some reading of the recommended resources you guys have provided me.
It's really hard for me to understand, but I think I will eventually learn something, I'm determined!

I am playing around with the interface builder right now. It's pretty cool. The only thing I would like to learn is how to insert pictures and how when you click on a button, how to get it to open to a new view.

Techguy172
Dec 21, 2008, 08:16 AM
I still haven't learned C, I'm starting but I know what you mean it's confusing. You said your using Interface builder. What I would do is learn command line based programs first. Then move on to some more complicated stuff.

I think it is easier once you learn another simpler language first. I started with Turing, It's very simple and it's looks like english. However it's also quite limiting at the same time. Then programming itself isn't that hard, it's just the syntax you have to learn.

Kilamite
Dec 21, 2008, 08:38 AM
http://www.cocoalab.com/?q=becomeanxcoder

From the web site: "This tutorial is written for non-programmers, and is aimed at levelling the learning curve as much as possible. In the best tradition, BecomeAnXcoder is released as a free booklet in pdf format under a CC Attribution license. It is also available online, simply follow the links below."

That is a pretty good guide, especially for free.