Hello everybody,
I'm a fourteen year old boy, who got into programming about eight months ago. I've always been fascinated by computers and technology and my new (selfpayed) iPhone made me take the step to start learning programming. Initially I started learning C++ through an introduction to programming book. However I only used it to get a basic understanding of programming along eth all the basics like pointers, functions, data types, syntax etc. After that I had to decide upon a platform I wanted to program for, and thereby learn it's language and framework. I chose the iPhone because of the App Store, which would allow me to distribute my software for everybody else to use. Additionally I also chose the iPhone because I knew it wasn't that different from Mac OS X, so by learning cocoa touch, I'd automatically learn a lot about mac OS X. I started out by reading Kochan's fabulous book: "Programming in Objective-C 2.0 second edition". I enjoyed it very much and it made me even more eager to get started writing some real software. After having read kochan's book in its entirety, I got Dave Mark and Jeff LaMarche's equally fabulous book: "iPhone development: exploring the SDK". I have to admit that I stopped reading when I got to the OpenGL part of the chapter about drawing since I figured the rest of the book would be lots of stuff that I probably wouldn't need for any application I was planning to make, and if I should need it, I could always just read that single chapter. OK, so after having "finished" the iPhone development book, I knew enough about programming, objective-C and cocoa touch to write an app right? NO! I was soon to realize that programming is not just initializing objects and calling methods, it's all about problem solving. It was at that time I found out what I want to do for the rest of my life. After much difficulty I build my first application, a Danish joke application. The graphics are awful(I had to make them myself!) and the code probably isn't the most efficient in the world, but I released it on the App Store(what a hassle!) for free and guess what! It made it to the number one free download in the Danish app store just in three days! Yes I was pretty excited and Im now currently writing my second app: a confidential data keeper(storing passwords, files, pictures etc. All protected by a password using 256 AES encryption). I've definatly gotten the hang of it all now and Im writing this app much faster than my first so it already almost finished. The entire summer lies ahead of me and I'm planning on spending it to learn something new in programming, the problem is, I don't know what I would benefit the most from. Here's a list of what I've thought about, but if you have another ideaS I'd love to hear them.
OpenGL continued by OpenGL ES. I believe this might benefit me in my applcations as well as in the future since so many systems and devices use it to handle their drawing. Additionally, I love playing games so being able to make some myself really would be cool.
Assembly. I've heard assembly is very difficult and almost unusable, but I've also heard that learning assembly is learning the computer itself and knowing it can grant me many advantages in the future.
Visual C#. Since I already know a great deal about cocoa, knowing its windows equivelant might be a really good idea, since knowing the two would mean I'd be able to program for 97% of computers in existence.
Java. Since Java is cross-platform, knowing it would mean I could write software for 99.99% of computers in existence. I've also heard that many colleges start out by teaching the students Java so learning it now could benefit me later.
Cocoa. Take some time to learn the tons of APIs available on the mac which do not exist on the iPhone. I'm not very thrilled with this since I might finish too early and feel tha I didn't accomplish as much during the holildays as I wanted to. Nevertheless I am aware that I'll have to do this some time sooner or later.
C and the unix OS. I can't say why but for some reason, operating systems(especially Unix) thrills me and I might like to look into that some day. OSs are written in C so knowing it would be essential. Additionally I feel somewhat bad about knowin objective-C and some C++ without knowing the "father" of these languages.
I have no time limit on anything I choose to learn or do so the time required to learn it doesn't matter. As stated, if you have any other ideas please tell me about them.
Sorry that the post got so long!
I appreciate any opinions/answers.
-BEN
I'm a fourteen year old boy, who got into programming about eight months ago. I've always been fascinated by computers and technology and my new (selfpayed) iPhone made me take the step to start learning programming. Initially I started learning C++ through an introduction to programming book. However I only used it to get a basic understanding of programming along eth all the basics like pointers, functions, data types, syntax etc. After that I had to decide upon a platform I wanted to program for, and thereby learn it's language and framework. I chose the iPhone because of the App Store, which would allow me to distribute my software for everybody else to use. Additionally I also chose the iPhone because I knew it wasn't that different from Mac OS X, so by learning cocoa touch, I'd automatically learn a lot about mac OS X. I started out by reading Kochan's fabulous book: "Programming in Objective-C 2.0 second edition". I enjoyed it very much and it made me even more eager to get started writing some real software. After having read kochan's book in its entirety, I got Dave Mark and Jeff LaMarche's equally fabulous book: "iPhone development: exploring the SDK". I have to admit that I stopped reading when I got to the OpenGL part of the chapter about drawing since I figured the rest of the book would be lots of stuff that I probably wouldn't need for any application I was planning to make, and if I should need it, I could always just read that single chapter. OK, so after having "finished" the iPhone development book, I knew enough about programming, objective-C and cocoa touch to write an app right? NO! I was soon to realize that programming is not just initializing objects and calling methods, it's all about problem solving. It was at that time I found out what I want to do for the rest of my life. After much difficulty I build my first application, a Danish joke application. The graphics are awful(I had to make them myself!) and the code probably isn't the most efficient in the world, but I released it on the App Store(what a hassle!) for free and guess what! It made it to the number one free download in the Danish app store just in three days! Yes I was pretty excited and Im now currently writing my second app: a confidential data keeper(storing passwords, files, pictures etc. All protected by a password using 256 AES encryption). I've definatly gotten the hang of it all now and Im writing this app much faster than my first so it already almost finished. The entire summer lies ahead of me and I'm planning on spending it to learn something new in programming, the problem is, I don't know what I would benefit the most from. Here's a list of what I've thought about, but if you have another ideaS I'd love to hear them.
OpenGL continued by OpenGL ES. I believe this might benefit me in my applcations as well as in the future since so many systems and devices use it to handle their drawing. Additionally, I love playing games so being able to make some myself really would be cool.
Assembly. I've heard assembly is very difficult and almost unusable, but I've also heard that learning assembly is learning the computer itself and knowing it can grant me many advantages in the future.
Visual C#. Since I already know a great deal about cocoa, knowing its windows equivelant might be a really good idea, since knowing the two would mean I'd be able to program for 97% of computers in existence.
Java. Since Java is cross-platform, knowing it would mean I could write software for 99.99% of computers in existence. I've also heard that many colleges start out by teaching the students Java so learning it now could benefit me later.
Cocoa. Take some time to learn the tons of APIs available on the mac which do not exist on the iPhone. I'm not very thrilled with this since I might finish too early and feel tha I didn't accomplish as much during the holildays as I wanted to. Nevertheless I am aware that I'll have to do this some time sooner or later.
C and the unix OS. I can't say why but for some reason, operating systems(especially Unix) thrills me and I might like to look into that some day. OSs are written in C so knowing it would be essential. Additionally I feel somewhat bad about knowin objective-C and some C++ without knowing the "father" of these languages.
I have no time limit on anything I choose to learn or do so the time required to learn it doesn't matter. As stated, if you have any other ideas please tell me about them.
Sorry that the post got so long!
I appreciate any opinions/answers.
-BEN