What is a good foundation for learning Objective-C?

Posted on 2011-05-04
Medium Priority
Last Modified: 2013-11-25
My 15 year old will be attending a week-long "programming iphone and ipad apps" camp toward the end of this summer.  Listed as a prerequisite is "a practical knowledge of either C++ or Java".   He plans to get this knowledge through self-study activities during July.  My understanding is that he will be working with Objective-C during camp and am looking for opinions about which language makes most sense for him to study before-hand: C++ or Java?    
Question by:jolodali
LVL 13

Accepted Solution

SpeedyApocalypse earned 2000 total points
ID: 35695325
Lucky kid!  I too am 15 years old and I learned most of my programming and expertise around a year ago.  Objective-C was my first language and it had a little bit of a learning curve, but was definitely not too bad.  How much programming knowledge does your son already have?  Does he have a knowledge of methods, algorithms, and other mathematical fundamentals?  If the answer is "no", perhaps he should look into Python as it is a widely acclaimed "beginner" language and will teach many things that he will use throughout his programming career.

If hopping in directly to some more advanced languages, I would recommend a knowledge of "C" or "PHP" to your son.  Both of them have extreme real world applications and will assist him once he wants to go with Objective-C.  I will explain both below:

I have not explicitly learned "C" but I hear that it is very close to Objective-C.  In fact, Objective-C actually inherits directly from C.  With Objective-C, you will use much of the same syntax and programming habits that you would with C.  For example, you would be able to directly carry over methods, values, math, etc.

PHP is like an easy version of C and Objective-C.  This was my 4th language and I found it to be just like Objective-C in many respects.  With PHP, you do not have to worry about many of the difficult concepts like memory management.  Instead, you can focus on cleanliness and great coding habits.  Like C, it will teach you many fundamentals that are exactly like Objective-C.  For Statements, If Statements, While Statements, math, you name it!  

Java is a starting language as well, but I have not touched it.  In my opinion, it is too unlike Objective-C to even bother with.  The languages listed above will serve the same purpose, and then some.  C++ is one of the more "down to earth" languages and I find it to be very difficult to start with.  

Now begs the burning question, why doesn't he hop into Objective-C directly?  Lynda.com, MyCodeTeacher, and a plethora of other websites offer great introduction tutorials and he will be able to be creating applications in no time.  The iPhone SDK is even a FREE download and you will not have to post the $99.00 fee.  If he takes this option, a good resource (and one that I am present on) is http://www.iphonedevsdk.com

Let me know your thoughts on this and if you have any questions, please do not hesitate to ask.



Author Comment

ID: 35697384
Hi Aaron,
Thanks for your very complete and thoughtful response.  To get right to your burning question: I think the camp lists C++ or Java as a prerequisite because they offer another week-long session that introduces those languages.  From their business perspective, they probably want parents to sign their kids up for both but that's not an option for us.  I think I will suggest to my son that he look into the Objective-C tutorials.  This sounds like a good way to prepare him for his session at camp.

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Have you thought about creating an iPhone application (app), but didn't even know where to get started? Here's how: ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Important pre-programming comments: I’ve never tri…
Preface I don't like visual development tools that are supposed to write a program for me. Even if it is Xcode and I can use Interface Builder. Yes, it is a perfect tool and has helped me a lot, mainly, in the beginning, when my programs were small…
The goal of this video is to provide viewers with basic examples to understand how to use strings and some functions related to them in the C programming language.
The goal of this video is to provide viewers with basic examples to understand opening and reading files in the C programming language.
Suggested Courses

750 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question