PDA

View Full Version : Im 14, I've done some scripting before, I'm good at logic and I wanna do iPhone apps!




PowerFullMac
Dec 21, 2008, 04:29 PM
Like the title says, I've done scripting before, namely VBScript and AppleScript... When I was about 10 or 11 I made a little app for my brother that would have a conversation with him using dialog boxes and taking input... Quite a good achievement at that age, I think! :)

I have had a interest in computers since I was about 9 and I find them fun and interesting so I'm not just doing this for money (although it would be a nice extra!)

I know the basics of programming... Only the really basic stuff, though, like taking input and printing it on the screen, loops, if statements, etc.

At the moment I am learning C before going on to Objective-C (once I can do C I'll be able to do Objective-C easy from what I read)

Anyway, sorry if I went into too much detail there but the point is a simple question: is there anything you genius experienced programmers can recommend to me to help my progress, help me learn better etc.?

Thanks in advance! :)



Kilamite
Dec 21, 2008, 05:02 PM
Install Xcode if you haven't already (free from your OS X disc). The documentation included is great.

Quite a few good guides out there, such as this one (http://www.cocoalab.com/BecomeAnXcoder.pdf).

Get your head round what an object-oriented language is first, before going into the deep end - it'll save you a lot of misunderstanding. I'm at university, and when I first started learning Java couple of years ago it helped to understand what objective languages are all about (classes, methods etc).

Remember, the hard bit is designing and working out how to do something, not the actual coding (once you get your head round it).

chbeer
Dec 21, 2008, 05:08 PM
I think you are way ahead of many of the other forum members! I started coding at 10 with basic on a comodore C128... that was great but (clearly) not as great as the iPhone plattform.

BTW: don't bother yourself that much with C. obj.-c is a lot different. Maybe you should more learn object oriented programming.

italiano40
Dec 21, 2008, 05:11 PM
i started at about 15 and now i am almost great at java and i know very little of Cocoa and i am 18 but some how i pass my Computer programing I at my university so it is great that you know some much at a young age

PowerFullMac
Dec 21, 2008, 05:16 PM
I think you are way ahead of many of the other forum members! I started coding at 10 with basic on a comodore C128... that was great but (clearly) not as great as the iPhone plattform.

BTW: don't bother yourself that much with C. obj.-c is a lot different. Maybe you should more learn object oriented programming.

Thanks... I've done some BASIC, too! Was fun :)

Yeah, makes sense as C isn't object orientated... Is it still useful to know the basics of C, though?

I may also get a book about iPhone development for beginners, not sure what it's called but it was in a TUAW article about gifts for developers... Hopefully it will be useful, anyway :)

PowerFullMac
Dec 21, 2008, 05:17 PM
i started at about 15 and now i am almost great at java and i know very little of Cocoa and i am 18 but some how i pass my Computer programing I at my university so it is great that you know some much at a young age

Thanks! I like to think that the more experience the better! :)

Kilamite
Dec 21, 2008, 05:19 PM
Yeah, makes sense as C isn't object orientated... Is it still useful to know the basics of C, though?

Objective C is just an extension of C, so yes, by all means it is worth learning the basics.

wizard
Dec 21, 2008, 07:51 PM
First; don't stop learning C. As has all ready been pointed out Objective C is built upon C. Any program of reasonable complexity will have to delve into c programming. Besides C is useful to know and understand in it's own right.

Second; don't let your age stand in the way of writing apps. However when it comes to making money realize that you are in business and that creates legal issues. If you do decide to make some cash make sure you meet all legal reqquirements especially those related to taxes. This means a lawyer and parental involvement. One reason there are so many free apps in the app store is that a lot of people just don't want to deal with the issues around a business.

Third; if you can get involved in a formal class targetted at C you may develop your skills faster. More importantly if the class is well runned it may prevent the formation of bad habits. I'm hedging a bit here as everybody learns differently and some instructors are more harmful than helpful.

Fourth; Apple is using some state of the art concepts in the iPhone SDK so you may have issues that can't be answered locally. Forums can really help but you need to focus on the basics so that a reasonable conversation can be had. In other words if you don't know, for example, that MVC means Model View Controller you will have trouble communicating. After your introduction to C you should go through the Hillegass (sp?) book. That will get you grounded in Cocoa.

Fifth; this is again a repeat but programming is easy. It is the designing and debugging that gets you. Debugging an iPhone program is no where as easy as a BASIC or Python program! There are many issues there including bugs in Apples SDK and a funky IDE. So expect some struggles. They however can be overcomed. That's my opinion but do realize I was in from the beginning and actually stopped a project a couple of times due to SDK issues.

Sixth; though marginally different don't forget about Mac programming. Tiring an app together across platforms might lead to very interesting results.

Seventh; find somebody locally with the same interests or goals. This can help the learning process in ways that being online can't.


In any event enough numbers. The reality is it can't hurt to try unless of course you go nuts ;), not that that should be a big worry. What you need to do though is maintain focus but not to the extent it becomes a sickness. Far to many programmers come down with thing like diabetes because the loose perspective on life. Don't let that happen, time your programming sessions if you have to.


Dave

liptonlover
Dec 21, 2008, 11:30 PM
I haven't read most of the other replies, but I know I'll contradict with a few, so I apologize in advance.

First, I'm 15 now and I've been programming since I was 9. It's great to meet another teen who's interested :)


Someone said apple's documents are great. They are, but they're certainly not the place to start. Once you understand them/more, they'll be helpful but at first they only confused me more. People would tell me to look at apple's own docs to find my answer. I'd do that and be more lost than before. If you keep going back to them, you'll find eventually that you understand them.

Definitely learn C. You don't need to know too much, but it's a nice place to start. It's probably the most well known language, and obj-c builds off of it. Also, it's an easier place to learn programming basics than in obj-c. To learn C, go to www.cprogramming.com. It's the best place ever.

Next place to go, probably before cprogramming.com actually, is cocoalab.com. Do their becomeanxcoder tutorial. It's slightly out of date, some things in xcode have changed, but mostly it's the same and it's all still perfectly relevant. The tutorial is aimed at people who know nothing about programming, so anyone can use it. After I finished it, I was ready for more. I advise going through it before cprogramming.com because it's better for the very first time programmer, so when you're done you should definitely be able to handle cprogramming.com.

Start with desktop programming for the mac. It's essentially the same, the transition to iphone when the time comes will be painless. But it's easier to learn on the desktop, because there's more documentation, and more/more polished books.

Going off what I just said, definitely get aaron hillegasse's cocoa programming for mac os x 3rd edition. It's very recent so it's all relevant.
I have one note about the book though. It tells you how to do things very well, but it doesn't say WHY. This is where you have to work harder. Use google, this forum, and eventually apple's documents to learn the why. Learning why of course allows you to apply what you learned in a practical way.

Again going off of what I just said, I'd like to tell you how I ended up using aaron's book. I don't have the patience to go through the whole book cover to cover, so instead I sit down at the computer, and decide on something I want to do that I don't know how to do yet. Then I read the chapter on it in the book, and finally I use google and sometimes ask questions here. I stick it into a project, and mess around a lot until I've learned what I wanted. So really the book is for ideas and starting me off, I don't really learn too much from it though in that respect. It's useful, just not necessarily the way it's supposed to be.

If you have ANY questions, you can email me at lipton_lover@mac.com. Like I said, I love meeting other teens who program, and I can probably help you.

Good luck!
Nate

Rodimus Prime
Dec 21, 2008, 11:56 PM
It sounds like you are in on the right track. I used to dabble in programing a few years ago and when I had to do some for class I was by far the best in the class but even then it was pretty lite.

I do have some friends who are a lot deeper into programing and do it for a living and they say the hardest thing about programming is not the programing itself but learning to think like a computer does and that is something that can not be taught. you either get it or you don't.

Like others have said keep learning C. Once you get your first laungage down the others are fairly easy to pick up another.

PowerFullMac
Dec 22, 2008, 03:24 AM
Thanks for all of your replys! :)

I am checking out the stuff you all mentioned right now, and I downloaded the free BecomeAnXcoder PDF file :)

Also, for the business side of things, I don't need to pay tax until I'm 16, so I'm good for that... I've heard that to sign the documents I need to be 18 or over but I'm sure my parents wouldn't mind helping me out (hopefully!)

liptonlover
Dec 22, 2008, 09:01 AM
I was discussing this with members here not too long ago... The gist of it is if you want anything to be in your name that you'll get money from, you'll have to go through a crspload of legal stuff. The best thing would be to do it through your parents.

That being said... You can try doing donationware or freeware. No legal issues there.

PowerFullMac
Dec 22, 2008, 09:03 AM
I was discussing this with members here not too long ago... The gist of it is if you want anything to be in your name that you'll get money from, you'll have to go through a crspload of legal stuff. The best thing would be to do it through your parents.

That being said... You can try doing donationware or freeware. No legal issues there.

Perhaps ad-funding?

liptonlover
Dec 22, 2008, 12:07 PM
I thought of that, but that money would count as an income I think, and would be taxed. I don't know for sure, though. Let me stress that it's certainly possible for you to start a business, but that would be a lot of trouble and a lot of money. You'd have to talk to your parents about it.

On a side note, I've made $20 so far from old palm apps I made, and I'm not in jail. The point being, how closely is the governent monitoring teens who are trying to start software companies? But I wouldn't attempt that on the iPhone, as success leads to scrutiny.

PowerFullMac
Dec 22, 2008, 12:29 PM
I thought of that, but that money would count as an income I think, and would be taxed. I don't know for sure, though. Let me stress that it's certainly possible for you to start a business, but that would be a lot of trouble and a lot of money. You'd have to talk to your parents about it.

On a side note, I've made $20 so far from old palm apps I made, and I'm not in jail. The point being, how closely is the governent monitoring teens who are trying to start software companies? But I wouldn't attempt that on the iPhone, as success leads to scrutiny.

They can't tax me, I'm under 16.

Does any of this apply in the UK? I forgot to mention that I'm not American!

italiano40
Dec 22, 2008, 12:33 PM
i would also suggest hosting it on cydia for free and asking for donations that is what i did

liptonlover
Dec 22, 2008, 12:33 PM
It's not personal taxes, it's business taxes. And while I'm talking American specifically, it should apply to the UK in general at least. I don't know for sure, though.

PowerFullMac
Dec 22, 2008, 12:36 PM
It's not personal taxes, it's business taxes. And while I'm talking American specifically, it should apply to the UK in general at least. I don't know for sure, though.

I'm not registoring a limited company though I'm just working on my own making apps, so this legal crap is very annoying.

I'll do research on the laws later, I'm gonna focus on programming at the moment.

Me1000
Dec 22, 2008, 01:03 PM
I'm not registoring a limited company though I'm just working on my own making apps, so this legal crap is very annoying.

I'll do research on the laws later, I'm gonna focus on programming at the moment.

You'll probably want to get used to these laws, and knowning what you can and cant do under your own name.

Of course you actually have to have a product to sell before you even need to worry about it, and I would say you are probably well away from having a product ready for sale. So like you said, it is probably best for you to focus on development and not legality... Besides, the simplest thing to do it just work through your parents name.. :eek:

PowerFullMac
Dec 22, 2008, 01:07 PM
You'll probably want to get used to these laws, and knowning what you can and cant do under your own name.

Of course you actually have to have a product to sell before you even need to worry about it, and I would say you are probably well away from having a product ready for sale. So like you said, it is probably best for you to focus on development and not legality... Besides, the simplest thing to do it just work through your parents name.. :eek:

In another thread I made, the reply said I didn't need to spend money on lawyers or anything, I just needed to fill out forms, and I might not be old enough to legally do that... Google is no help, either.

I'm just gonna focus on learning Objective-C for now, like you said if there ate problems with my age I can do it under my parent's name.

wizard
Dec 22, 2008, 04:03 PM
They can't tax me, I'm under 16.

Does any of this apply in the UK? I forgot to mention that I'm not American!

I have no idea what the deal in the UK would be. Tax men usually find a way though. Let's say your first app is a success and you make good money (not likely for anybodies first program) that should generate some interest in the Tax department. Maybe not for you but maybe your parents. Again not a UK resident just a general comment on revenue agents.

Honestly though don't worry about that right now as you need to focus on coming up to speed with your C skills. It could be months or even a year before you have a salable program. Work on C and then Objective C and Apples SDKs. Once you are up to speed with those it will take some more time to engineer your first program. Frankly it can be a lot of fun so best of luck.


Dave


ONE MORE THING:

MERRY CHRISTMAS!

liptonlover
Dec 22, 2008, 05:02 PM
I think you should forget about it until you have something to sell too. All the legal stuff takes the fun out of programming. I didn't feel like going back to work for a while after I found out how much I'd need to do just take credit for what I make using my name instead of my parents' name.

I'd just like to repeat, if you have ANY questions whatsoever I'm always available at Lipton_lover@mac.com. I check my mail as it comes in so I can reply fast.

Good luck and merry Christmas!
Nate

PowerFullMac
Dec 23, 2008, 03:04 AM
I think you should forget about it until you have something to sell too. All the legal stuff takes the fun out of programming. I didn't feel like going back to work for a while after I found out how much I'd need to do just take credit for what I make using my name instead of my parents' name.

I'd just like to repeat, if you have ANY questions whatsoever I'm always available at Lipton_lover@mac.com. I check my mail as it comes in so I can reply fast.

Good luck and merry Christmas!
Nate

Thanks, I'll add your address to me contacts :)

Muncher
Dec 24, 2008, 01:58 PM
Like the title says, I've done scripting before, namely VBScript and AppleScript... When I was about 10 or 11 I made a little app for my brother that would have a conversation with him using dialog boxes and taking input... Quite a good achievement at that age, I think! :)

I have had a interest in computers since I was about 9 and I find them fun and interesting so I'm not just doing this for money (although it would be a nice extra!)

I know the basics of programming... Only the really basic stuff, though, like taking input and printing it on the screen, loops, if statements, etc.

At the moment I am learning C before going on to Objective-C (once I can do C I'll be able to do Objective-C easy from what I read)

Anyway, sorry if I went into too much detail there but the point is a simple question: is there anything you genius experienced programmers can recommend to me to help my progress, help me learn better etc.?

Thanks in advance! :)

I recommend learning a little of every type of language. Look up Scheme, learn some assembly language. Read about unix and unix programming. The more you understand about the hardware/software you use, the better of a coder you'll be (generally speaking). Personally, I find Objective C hard; if you do, then you should probably try Python first. I've heard good things about it.

I haven't read most of the other replies, but I know I'll contradict with a few, so I apologize in advance.

First, I'm 15 now and I've been programming since I was 9. It's great to meet another teen who's interested :)


Someone said apple's documents are great. They are, but they're certainly not the place to start. Once you understand them/more, they'll be helpful but at first they only confused me more. People would tell me to look at apple's own docs to find my answer. I'd do that and be more lost than before. If you keep going back to them, you'll find eventually that you understand them.

Definitely learn C. You don't need to know too much, but it's a nice place to start. It's probably the most well known language, and obj-c builds off of it. Also, it's an easier place to learn programming basics than in obj-c. To learn C, go to www.cprogramming.com. It's the best place ever.

Next place to go, probably before cprogramming.com actually, is cocoalab.com. Do their becomeanxcoder tutorial. It's slightly out of date, some things in xcode have changed, but mostly it's the same and it's all still perfectly relevant. The tutorial is aimed at people who know nothing about programming, so anyone can use it. After I finished it, I was ready for more. I advise going through it before cprogramming.com because it's better for the very first time programmer, so when you're done you should definitely be able to handle cprogramming.com.

Start with desktop programming for the mac. It's essentially the same, the transition to iphone when the time comes will be painless. But it's easier to learn on the desktop, because there's more documentation, and more/more polished books.

Going off what I just said, definitely get aaron hillegasse's cocoa programming for mac os x 3rd edition. It's very recent so it's all relevant.
I have one note about the book though. It tells you how to do things very well, but it doesn't say WHY. This is where you have to work harder. Use google, this forum, and eventually apple's documents to learn the why. Learning why of course allows you to apply what you learned in a practical way.

Again going off of what I just said, I'd like to tell you how I ended up using aaron's book. I don't have the patience to go through the whole book cover to cover, so instead I sit down at the computer, and decide on something I want to do that I don't know how to do yet. Then I read the chapter on it in the book, and finally I use google and sometimes ask questions here. I stick it into a project, and mess around a lot until I've learned what I wanted. So really the book is for ideas and starting me off, I don't really learn too much from it though in that respect. It's useful, just not necessarily the way it's supposed to be.

If you have ANY questions, you can email me at lipton_lover@mac.com. Like I said, I love meeting other teens who program, and I can probably help you.

Good luck!
Nate

I've been programming since I was 9, too (I'm now 15). I used Dark BASIC (http://thegamecreators.com/), and that was before the Pro version came out. I tried Assembly language a few times (4, I think?) between the ages of maybe 6 and 13. Each time, I got frustrated and quit. I did get something out of it, though. On attempt 1 I learned about pointers, on attempt 2 I learned about linked lists, searches, and more of the basics of intel assembly. When I was 12 got interested in robots (http://www.parallax.com/tabid/411/Default.aspx) and built one off a kit, and bought some PIC chips (http://piclist.com/techref/piclist/index.htm) because I didn't like that basic stamps could only do a few thousand instructions per second. Also when I was 12 it finally clicked how C syntax worked. After that, I didn't do all that much programming. I fiddled around with SDL (http://www.libsdl.org/), and made a few demos, but nothing major. I have tried to learn Objective C, but Apple's developer resources are written for coders already adept at OOP, and I think procedurally. I guess I'll learn Python eventually, everyone says it's easy.

My email is billyman3@gmail.com. If you've got any questions about this stuff, PM me through these forums or email me.

PowerFullMac
Dec 24, 2008, 03:47 PM
Thanks, Muncher! :)

I'm finding Objective-C and C ok at the moment, not really that hard.

From reading the BecomeAnXcoder PDF I've learnt quite a bit I didn't know before, and I'm not even half way through it!

~~Hello~~
Dec 26, 2008, 08:47 PM
Under 16s do have to pay tax in the Uk

http://news.bbc.co.uk/1/hi/business/2968348.stm

I'm a Mac
Dec 30, 2008, 07:36 PM
I'm also interested in programming and I'm young too. I've read both Kochan and Hillegasses' book and so I'm familiar with cocoa/objective c and I understand it (I wouldn't consider myself "fluent" though) but I don't really know much past the basics. I want to develop for the iPhone but I don't really know where to go from here. I could go more in to Cocoa and learn some of the more advanced things but I'm not sure if that would help. About now my biggest accomplishment in coding was a fully functional text editor with a word count, a character count, a voice synthesizer and a font manager- (but no NSDocument architecture) So I don't really know where to go from here- especially because there aren't many resources for just iPhone development. One of the problems is that because I'm in school I don't have too much time to put into it.

chbeer
Dec 31, 2008, 03:20 AM
I want to develop for the iPhone but I don't really know where to go from here. I could go more in to Cocoa and learn some of the more advanced things but I'm not sure if that would help.

Practice is the best thing to learn new languages and coding. So maybe you should just look at the examples and start your own small project. That's how I learned the specialities of the iPhone plattform.

liptonlover
Dec 31, 2008, 08:32 AM
you sound like you don't think cocoa is the way to go for iphone programming, but it is because it's the only way. Cocoa and objective C. So, just start working. You should probably stick with desktop for awhile longer until you know how to use apple's docs for their classes, but once you can do that just start on the iphone and see what happens. It's never hard to see what you need to learn, and it's only slightly harder to actually learn it.

I'm a Mac
Dec 31, 2008, 09:26 AM
No don't get me wrong I understand that I need to practice cocoa and objective-c to eventually get onto the iPhone it's just some of the more advanced things that aren't supported by the iPhone yet that I was wondering about. So I guess I should try to master the fundamentals of Cocoa (at least until I would consider myself "proficient" until moving on the iPhone, right?

Muncher
Dec 31, 2008, 10:25 AM
Take your time to learn Cocoa on the mac. It really pays off; start with the iphone and you'll likely find yourself swallowed by the concepts you need to learn to continue.

crisss1205
Jan 5, 2009, 07:35 PM
Knowing just the basics won't get you close to making iPhone applications. I'm 15 and tried playing with the iPhone SDK and the tools in the SDK like Xcode. Knowing a lot in C++, C, and Objective C helped me in creating easy "Hello World" program but there is more than printing something to the console. Taking classes in AP Java at my school also helped me learn the advanced coding techniques and then I converted it to the C language since most of the command like IF-ELSE statements and FOR loops.
To make iPhone applications you should watch some of the intro videos that are free on iTunes and learn about the different API's you can use.

The image below shows a basic program using Xcode and the iPhone SDK.

new.chaos
Jan 5, 2009, 11:35 PM
I know the basics of programming... Only the really basic stuff, though, like taking input and printing it on the screen, loops, if statements, etc.

At the moment I am learning C before going on to Objective-C (once I can do C I'll be able to do Objective-C easy from what I read)

Anyway, sorry if I went into too much detail there but the point is a simple question: is there anything you genius experienced programmers can recommend to me to help my progress, help me learn better etc.?

Thanks in advance! :)

Man you will get a lot of opinions on this ...

I would suggest study algorithms if you already know basic programming syntax. You will get tested in interviews on algos (where a lot of candidates simply fail). At least if the company cares about hiring good people it will test you on it. Also you will get the most mileage out of writing & understanding good algos the earlier you learn. Second learn how to debug and all the coding best practices associated with that.

The rest you'll learn by comparison is of much less value, because stuff (languages, frameworks, APIs, etc) change constantly/become obsolete. Be smart on algorithms, writing clean/concise/readable code, and how to debug without googling and everything else will (IMO) take care of itself.

Cheers

crisss1205
Jan 6, 2009, 06:00 AM
Man you will get a lot of opinions on this ...

I would suggest study algorithms if you already know basic programming syntax. You will get tested in interviews on algos (where a lot of candidates simply fail). At least if the company cares about hiring good people it will test you on it. Also you will get the most mileage out of writing & understanding good algos the earlier you learn. Second learn how to debug and all the coding best practices associated with that.

The rest you'll learn by comparison is of much less value, because stuff (languages, frameworks, APIs, etc) change constantly/become obsolete. Be smart on algorithms, writing clean/concise/readable code, and how to debug without googling and everything else will (IMO) take care of itself.

Cheers
Yea you should learn algorithms and learn how to debug, you have to know hot to follow and do the code in your head while you are scrolling through it to make sure its going to do what you want to do, TEST!!! You dont know how many times I put ":" instead of ";" in a program and had over 150 errors because of one mistake.

chocolaterabbit
Jan 6, 2009, 07:10 AM
i think it highly depends on whether you wish to do computing at uni or if you want to pursue a different career. you could always get away with bad coding habits or not learning the maths behind the code, but you'll probably run into problems debugging that are impossible to solve. my recommendation is to hold off doing iphone apps, i was rash at 14 too and i wanted to program but you've got plenty of time ahead of you to learn, so you might as well learn properly, at least if you see this as a future career. do iphone apps after you have gained enough learning and experience at uni or another place with good tutors that will teach you good code habits instead of bad ones. in the meantime, take up paper routes or something else that will make you pocket money to pass the time.