1. Welcome to the new MacRumors forums. See our announcement and read our FAQ

Is C for Dummies worth it?

Discussion in 'Mac Programming' started by XNine, Oct 7, 2005.

  1. macrumors 68040


    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.
  2. Moderator


    Staff Member

    Probably not. I'd suggest getting K&R (The C Programming Language).
  3. macrumors 603


    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...
  4. macrumors 6502a

    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.
  5. macrumors 6502

    A great book is 'A Book on C', Kelley/Pohl.
  6. macrumors 6502

    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.

  7. Moderator


    Staff Member

    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...
  8. Moderator


    Staff Member

    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.
  9. macrumors member

    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.
  10. macrumors 68040


    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!
  11. macrumors 68000


    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).
  12. macrumors 6502

    K&P's "The C Programming Language" is really the classic text on C. Great stuff.
  13. macrumors 6502

    Yep, he sure did. I must be in an upward increment mood today. I guess I just headed off the C++ for Dummies question.

  14. macrumors member

    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.
  15. macrumors 601


    I found just googling Objective C came up with enough information to get started rather than learning C first.
  16. macrumors 601


    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.
  17. macrumors 68040


    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....


  18. macrumors 601


    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.
  19. macrumors 68040


    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.
  20. macrumors member

    - 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.
  21. macrumors regular

    I second this. The book covers C, Obj-C and some basic Foundation stuff; all things you'll use if you continue programming with Cocoa.
  22. macrumors 6502

    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.
  23. Guest

    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?

    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:
    Note the "Mac OS X" in its title.

    I just recommended this book in another thread:
    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.

  24. macrumors member



Share This Page