PDA

View Full Version : Best Book for a Complete Starter




JamesFoote
Aug 5, 2008, 02:16 PM
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
Aug 5, 2008, 02:38 PM
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
Aug 5, 2008, 03:21 PM
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
Aug 5, 2008, 06:42 PM
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
Aug 5, 2008, 07:28 PM
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
Aug 5, 2008, 07:29 PM
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 (http://www.amazon.com/Cocoa-Programming-Mac-OS-3rd/dp/0321503619)

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
Aug 5, 2008, 10:45 PM
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
Aug 5, 2008, 10:52 PM
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
Aug 6, 2008, 12:42 AM
So do you think starting with C, and then eventually moving on to Objective C would be a good idea?

seventoes
Aug 6, 2008, 03:18 AM
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
Aug 6, 2008, 03:41 AM
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
Aug 6, 2008, 10:55 AM
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
Aug 6, 2008, 11:11 AM
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
Aug 6, 2008, 11:30 AM
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
Aug 10, 2008, 11:46 AM
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
Aug 10, 2008, 11:49 AM
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
Aug 10, 2008, 06:02 PM
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.

sharp65
Aug 10, 2008, 08:12 PM
I thought the NDA was only for the betas? afaik the NDA doesn't apply to the public release.

No, it does. You won't find any books regarding iPhone development as it's still under the NDA

aphexii
Aug 12, 2008, 02:08 AM
No, it does. You won't find any books regarding iPhone development as it's still under the NDA

Yep, can't wait for the NDA to lift.

DipDog3
Aug 12, 2008, 05:28 AM
Yep, can't wait for the NDA to lift.

It won't until they get their patents approved.