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

XNine

macrumors 68040
Original poster
So, I want to learn coding for OS X. I've been told learning C, because Cocoa uses a lot of the same language terms, would be helpful. But I suck at programming. Would the C for dummies really be worth my while, or should i forget about it altogether.

Some honest feedback would be appreciated.
 

rainman::|:|

macrumors 603
Feb 2, 2002
5,438
2
iowa
Although it's been a few years since I studied or did any programming, I always found that the Dummies books weren't good for learning languages. They're just not concise enough... why say the same thing in 400 pages that you could in 80? But maybe chalk that up to different learning styles... probably some people are exactly the opposite, they love a lot of lengthy monologue and humor in the text...
 

sreedy

macrumors 6502a
Feb 24, 2005
501
0
Somerset
robbieduncan said:
Probably not. I'd suggest getting K&R (The C Programming Language).

I second that!

Easily the best C book on the market for all levels, I used it when I started out with C and still use it today.
 

jim.

macrumors 6502
Dec 22, 2004
308
0
C-ville, VA
I've seen the Dummies book. It doesn't even mention the use of namespaces. Unfortunately if you are using gcc 3.0+ as your compiler, you need to use namespaces (or at least the std:: format) to avoid some nasty compiler errors. Of course, I may have just seen an old edition. They may have updated it since then.

I'd go with one of the above suggestions instead. Taking a programming course will help also, because it will teach you the value of non-obfuscated code, and keep you out of bad practices.

Jim
 

robbieduncan

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
jim. said:
I've seen the Dummies book. It doesn't even mention the use of namespaces. Unfortunately if you are using gcc 3.0+ as your compiler, you need to use namespaces (or at least the std:: format) to avoid some nasty compiler errors. Of course, I may have just seen an old edition. They may have updated it since then.

I'd go with one of the above suggestions instead. Taking a programming course will help also, because it will teach you the value of non-obfuscated code, and keep you out of bad practices.

Jim

He said C. namespaces are C++ only. If you want to learn traditional, straight C (which I think is a good idea for all programmers) you don't need to worry about this.
 

prophet621

macrumors member
Jul 31, 2005
86
0
I have a few C books as I am trying to learn it myself. C for dummies is the one I am currently going through. A few of the Beginner C books certainly don't act like beginner books. Their descriptions are often overly technical and hard to understand for someone with absolutely no programming experience. Though the dummies books is drawn out and only touches upon the very basics, I have noticed that because of it, understanding my other books is getting much easier. Now when they begin to describe something I already had a very lamans breakdown of it from Dummies and it makes more sence. Also, I do sort of like the bad attempt at humor, it does lighten it up and doesn't take itself as seriously as other books which can generally put an insomniac to sleep.

That being sead, I haven't looked at the one mentioned here by other posters but I will certainly go and look at it. The dummies book makes it very easy to understand C but I can definately see where it is severely lacking.

One other thing I do like about the dummies book over the other beginner C books is that I have trouble remembering things as I get older and the other books try to cram so much togeather that it gets jumbled in my head so the dummies books break it up more. While this is undoubtedly one of it's weaknesses, for me, it's also on of it's strong points.
 

XNine

macrumors 68040
Original poster
prophet621 said:
I have a few C books as I am trying to learn it myself. C for dummies is the one I am currently going through. A few of the Beginner C books certainly don't act like beginner books. Their descriptions are often overly technical and hard to understand for someone with absolutely no programming experience. Though the dummies books is drawn out and only touches upon the very basics, I have noticed that because of it, understanding my other books is getting much easier. Now when they begin to describe something I already had a very lamans breakdown of it from Dummies and it makes more sence. Also, I do sort of like the bad attempt at humor, it does lighten it up and doesn't take itself as seriously as other books which can generally put an insomniac to sleep.

That being sead, I haven't looked at the one mentioned here by other posters but I will certainly go and look at it. The dummies book makes it very easy to understand C but I can definately see where it is severely lacking.

One other thing I do like about the dummies book over the other beginner C books is that I have trouble remembering things as I get older and the other books try to cram so much togeather that it gets jumbled in my head so the dummies books break it up more. While this is undoubtedly one of it's weaknesses, for me, it's also on of it's strong points.

Interesting. So I take it there's never just one book you have to study (like anything else). Unfortunately, I ****ed up coding HELLO WORLD! and therefor will need mor help. I will probably start out with the dummies book and move onto this K&R book.

The input is very much appreciated. I really want to learn how to code. It sounds boring/dull but to see everything come together has got to be a blast!

Thanks guys/gals!
Z
 

Josh

macrumors 68000
Mar 4, 2004
1,640
1
State College, PA
I'm just beginning to learn C, and have been using Teach Yourself C by Herbert Schildt. An excellent book IMO, very easy to follow, and teaches quickly and effectively.

I highly recommend it for anyone wanting to learn the language (especially if it's your first 'real' language).
 

Aaon

macrumors 6502
Jun 30, 2004
287
19
K&P's "The C Programming Language" is really the classic text on C. Great stuff.
 

jim.

macrumors 6502
Dec 22, 2004
308
0
C-ville, VA
robbieduncan said:
He said C. namespaces are C++ only. If you want to learn traditional, straight C (which I think is a good idea for all programmers) you don't need to worry about this.
Yep, he sure did. I must be in an upward increment mood today. I guess I just headed off the C++ for Dummies question.

Jim
 

prophet621

macrumors member
Jul 31, 2005
86
0
Onizuka said:
Interesting. So I take it there's never just one book you have to study (like anything else). Unfortunately, I ****ed up coding HELLO WORLD! and therefor will need mor help. I will probably start out with the dummies book and move onto this K&R book.

The input is very much appreciated. I really want to learn how to code. It sounds boring/dull but to see everything come together has got to be a blast!

Thanks guys/gals!
Z

To be honest, I have no idea how many books people read to learn this. I have a friend who programms Java and still constantly checks his books to look something up even after doing it for years. I would assume it's this way for every language for most people.

I came acroos these books because another friend wanted to learn C++ but was told to learn C first. After a short while he gave up saying C was old and pointless and can only write drivers with it and nothing else really and asked if I wanted the books. This was a while back so I dusted off the books and am trying myself since I always wanted to try anyway.

It is pretty dull at the moment. I'm only doing things like variables and adding them into the text so I spend several minutes writing and fixing errors to see a half a second text program run in the console.

I have yet to write a whole program and not have a single error which is sad when the longest one I've done so far is about 30 lines including empty lines. I typically forget that a semicolon needs to be after every statement or I'll forget the 'f' in printf or scanf. I can definately see where programming could be frustrating. Still, seeing the final result could be very rewarding or an immense waste of time.

It's a lot to remember and going through the book I have to keep checking the code, even on things I already done 2 dozen times so far and should have down by now.. like the semicolon thing or remembering to {. I'm still wondering how I'm going to remember all this but the only way I see to do it is to do all these stupid little programs so it becomes second nature.

Hang in there. I honestly believe if I can start to grasp this that almost anyone can.
 

HiRez

macrumors 603
Jan 6, 2004
6,250
2,576
Western US
K&R C is the definitive reference on ANSI C. However, I have real doubts on whether it's the best teaching guide for C. For an experienced programmer coming from another language, I think it's ideal. And as a C reference book I think it's ideal (I've had an edition on my shelf close to my computer for over 20 years). But for someone new to programming, I think its learning curve is just too steep (see other reviews on the link above to confirm this). I also think the "For Dummies" books are not the best for teaching programming, in general, although I'm not familiar with C for Dummies specifically so maybe that one is ok. I'm sorry I don't have another book to recommend for you, but I would stay away from K&R (for now) for learning C as your first language. I'd hop on Amazon and start reading reviews.
 

RedTomato

macrumors 601
Mar 4, 2005
4,155
442
.. London ..
robbieduncan said:
Edinburgh University CS Student by a any chance? I own a copy of this as it's a course text but I think K&R is better...

I was on that course too. And I really sucked too.

I hated that book 'ABC' with a passion - I ended up ripping every page out slowly one by one. I think I burnt a few too, but can't rememeber.

Another Edinburgh University book I hated too was the set book on maths, Fundamentals of University Maths, often called FUM aka FUN by the lecturers.

I also ripped that one apart when I left the university.

It's not a total coincidence that today I work as a creative artist....

xoxo

RedTomato
 

HiRez

macrumors 603
Jan 6, 2004
6,250
2,576
Western US
prophet621 said:
I have yet to write a whole program and not have a single error which is sad when the longest one I've done so far is about 30 lines including empty lines.

[...]

It's a lot to remember and going through the book I have to keep checking the code, even on things I already done 2 dozen times so far and should have down by now.. like the semicolon thing or remembering to {. I'm still wondering how I'm going to remember all this but the only way I see to do it is to do all these stupid little programs so it becomes second nature.
That's pretty typical, don't let it discourage you. I still make tons of typos and syntactical errors, but the compiler will quickly identify them (although sometimes decrypting what a compiler error message is really trying to tell you is wrong takes some experience). I could spend more time proofreading my code and catch most of the mistakes but it's easier for me to type things in quickly and let the compiler do the work of finding my errors.
 

XNine

macrumors 68040
Original poster
I guess I have some idea of programming, the thing is I don't know a lot of the terms and what they're for. NIB for example. WTF is a NIB? I have no diea, and thus I need to learn. I guess Objective C, C, and Cocoa I need to know to program for OS X.

I have Xcode tools installed and try to take things apart with it and study it, but it's all russian to me.

I'd take a course but I'm in Denver, and the only courses are in colleges and I'm just too exhausted and work too much now to really go and make it worth my while.

Funny how we built the DENVER TECH CENTER years ago when the .com craze started, and now the offices are more than half-empty. A very large span of land contributed to the tech sector now rendered all but useless.
 

WebMongol

macrumors member
Sep 19, 2004
50
0
Bay Area, CA
Onizuka said:
So, I want to learn coding for OS X. I've been told learning C, because Cocoa uses a lot of the same language terms, would be helpful. But I suck at programming. Would the C for dummies really be worth my while, or should i forget about it altogether.

Some honest feedback would be appreciated.
- It makes sense to start learning with language to be used for OS X development - Objective-C.
- Programming in Objective-C by Stephen Kochan is tutorial on basics of ObjC and foundation of Cocoa
- It's very helpful for Mac developer to understand basics of Unix, this book may serve as a starting point: Learning Unix for Mac OS X Tiger by Dave Taylor
- If you want to see a fast progress and get sense what programming feels like, I would recommend to start with simpler language, like Python (general purpose scripting language) or Apple Script.
 

carpe diem

macrumors 6502
Sep 18, 2005
452
0
Honest ly I dont like the books at all, they are written in a way which is demeaning to the reader and not usefull at all. Well thats my opinion though.
 
C

CarlosC

Guest
So, I want to learn coding for OS X. I've been told learning C, because Cocoa uses a lot of the same language terms, would be helpful.
When you say helpful, do you mean in a sense for career opportunities or as in "leveraging" what you learn from one language and applying it to the other?

But I suck at programming. Would the C for dummies really be worth my while, or should i forget about it altogether.
I would forget "Dummy" books altogether. The last one I ownes was written by Dan S. Parks and it was very outdated even when it came out (during the move to Carbon/Cocoa from the Mac Toolbox.)

Anyways, if you want to learn C on the Macintosh, the old book "Learn C on the Macintosh" is very nice. It targets ANSI C, so you won't be learning how to create windows, buttons, menus, etc. The author of this book has created a new electronic version at:
http://www.spiderworks.com/books/learncmac.php
Note the "Mac OS X" in its title.

Some honest feedback would be appreciated.
I just recommended this book in another thread:
http://www.amazon.com/exec/obidos/asin/0321213149/idevgames-20
Some people spend lots of $$ to go to Aaron's seminars -- his book is a great way to learn how to program modern apps on the Mac. Highly recommended.

If you want to learn programming to enjoy your Mac more, or perhaps to create your own apps, I would say the route of Cocoa/Objective-C is great. If however, you want to learn programming to improve your job prospects, then perhaps Java and C++ (C#) might be better alternatives.

If you want to simply try your hand at programming, without any clear goals, then there are other alternatives such as REALbasic, Ruby, Python, and so on. I think the key is finding someone who knows these languages, or a community that does, because as you learn, you'll likely to have a million questions, so a good mentor(s) is very nice. :)

>I have Xcode tools installed and try to take things apart with it and study it, >but it's all russian to me.
It's like that for everyone when they first start out. Take it slow, and build on your programs (vs. trying to make Photoshop or Doom 3 right off the bat)

Best of luck.

Carlos
http://www.idevapps.com
http://www.idevgames.com
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.