Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

JamesFoote

macrumors regular
Original poster
Aug 5, 2008
109
0
From playing around with the SDK, I understand how incredibly hard developing is. Excpecially for a 14 year old. I know a little bit of HTML (not related to the SDK), but nothing about writing iPhone apps.

What is the easiest and best book or guide I can use to help me learn more about using the SDK and coding?
 

daflake

macrumors 6502a
Apr 8, 2008
920
4,329
From playing around with the SDK, I understand how incredibly hard developing is. Excpecially for a 14 year old. I know a little bit of HTML (not related to the SDK), but nothing about writing iPhone apps.

What is the easiest and best book or guide I can use to help me learn more about using the SDK and coding?

Learn a language first before you try to start coding for a specific system. I recommend JAVA. Most that have programmed in JAVA have been able to switch to another language easily. You need to learn about arrays and data types etc... before you even tinker with an SDK.

http://www.amazon.com/Head-First-Java-Kathy-Sierra/dp/0596009208

This is a good book that will get you started in the language. There are others out there but I used this one for my first JAVA class in college.
 

JamesFoote

macrumors regular
Original poster
Aug 5, 2008
109
0
Ok

OK, that sounds great - but I read on another thread that learning "C" is more effective.

So should I be learning JAVA or "C".

Also, does "C" stand for Cocoa? Because that is another language i'll need to know eventually?
 

itouch2007

macrumors member
Jan 31, 2008
48
0
Also, does "C" stand for Cocoa? Because that is another language i'll need to know eventually?

No, "C" doesn't stand for Cocoa, "C' is language by itself, also there is C++ and Objective C which is used in XCode.

They all pretty similar, once you learn one of them you can all with no problem.

Word of caution though, C is not the easiest language to start with, but then again you have to start somewhere.
 

daflake

macrumors 6502a
Apr 8, 2008
920
4,329
Word of caution though, C is not the easiest language to start with, but then again you have to start somewhere.

The above mentioned is why I suggested that you start with JAVA. It is a bit easier to learn and will make moving to C a lot easier in the future.
 

keehun

macrumors regular
Mar 17, 2008
110
0
Hey James Foote,

I'm 15 and I program... I started with Visual Basic, moved on to ActionScript and PHP, then to some C, then to ObjectiveC now.

I suggest you try learning PHP or C (or C++)

Remember, you are trying to learn Objective-C which is a subset of C (Thus, you can mix C within Objective-C/Cocoa) Cocoa is the framework in which makes it a "mac app"

And as a book... If you really want to start out with Cocoa, as anyone who programs Objective-C/Cocoa would recommend, I recommend Cocoa programming for Mac OS X by Aaron Hillegass

Its pretty good. In my opinion, if you really want to spend lots of hours (like 5 or so) each day, and really try to understand the core concepts of programming and every aspect of it, instead of trying to make something awesome at start, I don't think you will have too much trouble.

keehun
 

ayasin

macrumors 6502
Jun 26, 2008
318
0
I suggest you try learning PHP or C (or C++)

I would strongly encourage you to avoid PHP. It will do nothing but teach you bad habits. Also I'd recommend avoiding starting with a procedural language like C. I'd recommend (as others have) Java. The constructs are similar and the familiarity you'll get with object oriented thinking will be invaluable.

Remember, you are trying to learn Objective-C which is a subset of C (Thus, you can mix C within Objective-C/Cocoa) Cocoa is the framework in which makes it a "mac app"

Just a nit-pick...ObjC is a superset not a subset of C. I've seen this mentioned a few times in various places and I just finally had to respond :p.
 

keehun

macrumors regular
Mar 17, 2008
110
0
Ah. Superset. Thanks for correcting me.
And you bring up a good point procedural vs. object oriented.

Why I went with C recommendation is to just learn about the fundamental basics all program languages have, operations, assignments, comparisons, conditionals, etc and after all, Objective-C can have some C mingled in.. When I made the move from all the procedural languages to Objective-C I didn't think it was too confusing but it is a valid point, I guess.

Start with the CurrencyConverter™ tutorial from apple! ;)
 

JamesFoote

macrumors regular
Original poster
Aug 5, 2008
109
0
C?

So do you think starting with C, and then eventually moving on to Objective C would be a good idea?
 

seventoes

macrumors newbie
Feb 5, 2008
28
0
So do you think starting with C, and then eventually moving on to Objective C would be a good idea?

Start with Java in my opinion. C is procedural, so moving from C to an object-oriented language like ObjC will confuse you. Java is relativly easy to learn and it teaches you the concepts behind object-oriented programming. Plus there are loads of beginner tutorials for it.

Just know that learning this stuff isnt going to be quick and easy, you wont be able to jump right into things in a week. You gotta keep with it if you really wanna learn.
 

revenuee

macrumors 68020
Sep 13, 2003
2,251
3
I just started learning to program myself and I started with C++. I play on a mac at home but my professional life revolves around windows with little possibility that the industry will move to OS X in the foreseeable future. However Unix and Linux is more prevalent in the back offices.

I doubt I'll ever be involved in a true development environment but I'd like to be able to communicate with the developers more effectively.

Anyway, sorry about the digression

the book I'm using is C++ How to Program - 5th Edition ( I think there is a 6th now ) the book has been criticized as being wordy and going over the same concept in painful detail, but that suits me just fine.

Much of the early difference between C and C++ from what I learned is the syntax - which is minor

but more significantly, C ++ takes off were C leaves off and that's much more of the object oriented programming portion.

hope that helps

best
 

JamesFoote

macrumors regular
Original poster
Aug 5, 2008
109
0
J

Well, I guess i'll go with JAVA, then C, and then Objective C.

Do you think finishing it all up around March 2009 sounds right?
 

revenuee

macrumors 68020
Sep 13, 2003
2,251
3
Well, I guess i'll go with JAVA, then C, and then Objective C.

Do you think finishing it all up around March 2009 sounds right?

define finish?

if you mean -- you'll be able to USE those languages to write some degree of programs -- yes

but you won't achieve mastery --- it takes 5 years to master anything
 

white89gt

macrumors regular
Jan 18, 2006
133
0
Start with C and steer clear of anything scripting related like PHP. C++ is a good language to start with as well, but if you're wanting to develop for the Mac or iPhone, then C will be your best choice. Once you understand C, learning the Objective-C extension will be a lot easier.
 

mtgred

macrumors newbie
Mar 30, 2008
11
0
Brussels, Belgium
Definitly start with C or C++. You want to learn pointers and handling memory by hand. Plus you can reuse your C/C++ code directly in applications for the iPhone.

If you start with Java and you might learn bad habits as there is a garbage collector to handle memory for you where as on the iPhone you have to do it manually.

Also stay away from scripting languages such as PHP for the moment as the way they handle variable types is completely differently.
 

Apple Ink

macrumors 68000
Mar 7, 2008
1,918
0
Apple's NDA (Non Disclosure Agreement) prevents any major publisher from publishing/developer from authoring a book directly relating to the SDK and thus iPhone Programming!
 

seventoes

macrumors newbie
Feb 5, 2008
28
0
Apple's NDA (Non Disclosure Agreement) prevents any major publisher from publishing/developer from authoring a book directly relating to the SDK and thus iPhone Programming!

I thought the NDA was only for the betas? afaik the NDA doesn't apply to the public release.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.