Recent Blogs
Blog Archive
Learning a New Language
Blog Archive
Wednesday, September 10th, 2008
Learning a New Language
What I won't do for you Humzooers. We want to make an iPhone app to help get photos from your phone to your site easily while on the go. Doing this requires several things, one of which is someone who knows how to write programs for the iPhone.
Apple has released a very nice set of developer tools that are free and required if you want to make an app for the iPhone. These tools use a language called Cocoa, which is basically a nifty way to interact with all the standard Mac and iPhone interface items (windows, buttons, text boxes).
Several weeks ago I tried to learn Cocoa. That was hard for me because I don't know any *real* programming languages. I know PHP, ActionScript, AppleScript and JavaScript. You might see a pattern - these are all scripts. Scripts are to programming languages what cupcakes are to wedding cakes. Ok, that's not entirely true. But I like me some cakes.
To compound matters, Cocoa is based on (or requires some knowledge of) C++, which is another language. And if that's not hard enough, C++ is based off of a language called C.
So where to start?
After following several tutorials online, I was able to build an iPhone app that did a couple basic things. But the problem was that I didn't understand what I was doing; I was just following steps.
So tonight I decided that I should start at the bottom and work my way up. I decided to learn how to program using C.
Finding out where to start was no simple task. I mean, what do I edit code with? How do I run a program? What does it look like? Do I need to download some fancy software?
Turns out everything I need (so far anyway) was included with Apple's free developer tools (specifically, in Xcode). You can set up a C application, compile and run it all within Xcode.
I found a wonderful eBook that starts with no assumptions about prior knowledge and walks you through the basics. I have never purchased an eBook before (it's just a PDF file), and I will admit that I tried to find it free through the usual 'illegal download' channels. But I ended up forking over $15 just to download the PDF. Sounds pricey, but it's a 300 page book that I can easily browse on my computer (the only place I'll need it), and it doesn't waste any paper! Yeah for that.
Here's the book, in case anyone is remotely interested:
http://www.spiderworks.com/books/learncmac.php
After several hours of in-depth study tonight, I have successfully built a few simple applications that ran as expected. Nothing that is useful to anyone, but it's a great start. My experience with PHP has helped me breeze through many of the fundamentals, although there are several differences that will take awhile to get used to.
Long story short, the Humzoo iPhone app is one day closer to becoming a reality. One other important step is that Apple has to grant us permission to distribute the app through iTunes (the only way to mass distribute any iPhone app). We have sent in our application, and it is currently being reviewed or processed or has fallen behind someone's desk. But we have high hopes of becoming certified iPhone developers in the near future.
Learning a New Language
What I won't do for you Humzooers. We want to make an iPhone app to help get photos from your phone to your site easily while on the go. Doing this requires several things, one of which is someone who knows how to write programs for the iPhone.
Apple has released a very nice set of developer tools that are free and required if you want to make an app for the iPhone. These tools use a language called Cocoa, which is basically a nifty way to interact with all the standard Mac and iPhone interface items (windows, buttons, text boxes).
Several weeks ago I tried to learn Cocoa. That was hard for me because I don't know any *real* programming languages. I know PHP, ActionScript, AppleScript and JavaScript. You might see a pattern - these are all scripts. Scripts are to programming languages what cupcakes are to wedding cakes. Ok, that's not entirely true. But I like me some cakes.
To compound matters, Cocoa is based on (or requires some knowledge of) C++, which is another language. And if that's not hard enough, C++ is based off of a language called C.
So where to start?
After following several tutorials online, I was able to build an iPhone app that did a couple basic things. But the problem was that I didn't understand what I was doing; I was just following steps.
So tonight I decided that I should start at the bottom and work my way up. I decided to learn how to program using C.
Finding out where to start was no simple task. I mean, what do I edit code with? How do I run a program? What does it look like? Do I need to download some fancy software?
Turns out everything I need (so far anyway) was included with Apple's free developer tools (specifically, in Xcode). You can set up a C application, compile and run it all within Xcode.
I found a wonderful eBook that starts with no assumptions about prior knowledge and walks you through the basics. I have never purchased an eBook before (it's just a PDF file), and I will admit that I tried to find it free through the usual 'illegal download' channels. But I ended up forking over $15 just to download the PDF. Sounds pricey, but it's a 300 page book that I can easily browse on my computer (the only place I'll need it), and it doesn't waste any paper! Yeah for that.
Here's the book, in case anyone is remotely interested:
http://www.spiderworks.com/books/learncmac.php
After several hours of in-depth study tonight, I have successfully built a few simple applications that ran as expected. Nothing that is useful to anyone, but it's a great start. My experience with PHP has helped me breeze through many of the fundamentals, although there are several differences that will take awhile to get used to.
Long story short, the Humzoo iPhone app is one day closer to becoming a reality. One other important step is that Apple has to grant us permission to distribute the app through iTunes (the only way to mass distribute any iPhone app). We have sent in our application, and it is currently being reviewed or processed or has fallen behind someone's desk. But we have high hopes of becoming certified iPhone developers in the near future.
For the few that haven't had the pleasure of reading how to shoot yourself in the foot in various programming languages.
Apple rocks. I really wish I could get that Mac one of these days. First, that lens to take good photos. That I don't have. A computer, even if it is a nasty PC, is something I do have at the moment. :)
Thanks for learning all that! I can see a bright future for an Apple iPhone Developer!!
The two semesters of C I muddled through at ISU are a very distant memory, but it's the first language where things started to make sense for me. I think you're going to like it (and Apple's dev tools are fantastic from what I've seen).
Yeah, for sure it's easy to see where PHP comes from, and knowing PHP has helped with SO many things so far with C.