PDA

View Full Version : How much C do I need and best place to learn




swingerofbirch
Apr 4, 2009, 07:57 AM
I want to develop for the iPhone OS and viewed the first lecture on itunes u from stanford on iphone programming. It seems a background in C is needed before learning Objective C. I have no programming background except that I took a distance learning community college course that taught object oriented concepts using a program called Alice. We never actually wrote any code though.

I honestly don't know the difference between C, C#, C++, etc. I want to learn C so that I can learn to program for the iPhone, and I need to find a way to learn from home. My local community college doesn't offer distance learning C classes. Does anyone have any tips? I couldn't find any C courses in iTunes U. I would prefer to do this free, like through a podcast or online tutorials that someone might be able to recommend. Or, do you think you could learn from a book with no background? Otherwise I guess I would need to look for a class through one of the large online universities--does anyone have experience with that? Thank you.



North Bronson
Apr 4, 2009, 12:06 PM
I honestly don't know the difference between C, C#, C++, etc. I want to learn C so that I can learn to program for the iPhone, and I need to find a way to learn from home. My local community college doesn't offer distance learning C classes. Does anyone have any tips? I couldn't find any C courses in iTunes U. I would prefer to do this free, like through a podcast or online tutorials that someone might be able to recommend. Or, do you think you could learn from a book with no background? Otherwise I guess I would need to look for a class through one of the large online universities--does anyone have experience with that? Thank you.

Steven Kochan wrote a really great book called "Programming in C". You don't (I didn't) have to have a programming background to make it through to book.

skochan
Apr 4, 2009, 10:06 PM
As I've stated elsewhere in this forum, I don't believe that learning C should be a prerequisite for learning Objective-C. Programming in Objective-C does not assume any prior programming language experience, In particular it does not assume you know C.

Cheers,

Steve Kochan

firewood
Apr 5, 2009, 12:13 AM
The OP's question was not about learning Obj-C per se, it was about learning to develop iPhone apps.

An iPhone developer will be able to debug faster, and potentially write more battery efficient code, if they know the underlying technology: what's under the hood... in this case, bare-metal C, including the bits and bytes in the data types, address arithmetic, and maybe even a little ARM assembly language. Many of the iPhone's API's are in plain C, not Obj-C. So one would be stuck if they only knew pure method calls/messaging.

It's also very very helpful if an iPhone developer has studied basic algorithms, data structures, software engineering methodology, etc. and most of those textbooks are written for someone who knows C or Java.

I've seen posts from one too many iPhone developers who can't even parse the answer when you tell them that their bug can be fixed by swapping bytes, etc. Thus my rant.

imho.

firewood
Apr 5, 2009, 12:33 AM
My suggestion to the OP. Go to the library. Find some intro to programming books you find readable (they don't even have to be on just C. learning more than one programming language usually benefits one's skill level). Read them. Do the exercises. Find a mentor to check your solutions and help you if you get stuck.

imho.

Zekethebaddog
Apr 18, 2009, 09:24 AM
There is a course on iTunes U called CS50 by David J. Malan from Harvard. It is an introduction to Computer Science and it starts off with using a program called Scratch to get the basics of what programming is. Then it gets into C and later into PHP I think. I am just on the third video, so I am still on Scratch, but my idea of programming is growing exponentially.

Hope that helps.

Zeke