Try a board search. This comes up pretty often.
Printable View
Try a board search. This comes up pretty often.
Hello.
Books are very very good but sometimes it be be of help to have some internet resources with worked examples here is a site that explains the turorial and gives you worked examples to some of the questions as well.
http://cplus.about.com/cs/ctutorials/
Since it's in your court to prove otherwise, do so, or shut up. Every book I have ever looked at that was focused around one compiler does not teach the language; it teaches the compiler. Therefore, it doesn't work for what the origional poster wants, now does it? They aren't trying to learn a compiler. They're trying to learn the C language. The C language has a very specific set of rules it follows. We call it "The Standard". If you want to learn "the language", then you find a book that conforms to "the stanard", not "some compiler".Quote:
Originally Posted by KidA
Compilers don't mean jack ......... Compilers support all kinds of stuff that isn't in the language. Very common example, the "//" comment. This was supported by plenty of compilers before it was ever in the language. So, you get a book on FOO COMPILER to learn C, use // comments, go to a different compiler, and wonder why your code no longer compiles. Guess you should have learned the langauge, not a compiler.
Quzah.
It's in my court to disprove that "all" compiler-specific books are to be avoided? I don't think so. And the tone you use here is very common of most of the posts of yours that I have read: sarcastic, condescending and/or rude. Is this how you speak to your co-workers if they ask for help or if you disagree with their opinion?Quote:
Originally Posted by quzah
The OP asked for a good "beginner's" book to learn C, and also stated that Dev-C++ would be used for practice. Would you or Salem like to suggest one rather than simply disagree with my suggestion?
It's in your court to prove one case where the blanket statement is false. Can you do it? You can't prove them "all", because all I have to do is show you one example of a book that fits my statement of "everyone I've seen", and I have proven it impossible for you to fit the "all" bracket. This is simple logic. Therefore, it's up to you to prove "one" case, which would disprove the blanket statement.
You see, all it takes to disprove a blanket statement is one example. Since you're so sure his blanket statement is false, all it takes is "one" example to the contrary. Since you either cannot or will not provide one case, we are left with the assumption that his blanket statement is in fact true. Like I said, it's in your court to prove otherwise. If you can't, then like I said, shut up. Don't get all uppity and insist you're right, if you won't make any effort to prove it when someone calls you on it. Put up, or shut up.
Quzah.
Expert on the book market or not, I would definately say Salem IS a C expert.Quote:
Clearly you're an expert on the book market!
A word of advice when communicating with the great people on this board with a post count > 7000, 99.9995% of the time they are correct. So take a valium ;) and absorb what they have to say!
Read these links:
http://www.faqs.org/faqs/C-faq/learn/
http://www.lysator.liu.se/c/schildt.html
http://herd.plethora.net/~seebs/c/c_tcr.html
I must admit I bought H. Schildt's book "Teach Yourself C in 21 Days", but that was before I had a clue, and also before I knew about this awesome site.
Quite simply, I have had exactly one C book - namely K&R.
Also quite simply, I don't give a rats ass which compiler I am using because they're all the same to me. My code compiles and performs equally well on all of them. My current project uses at least 4 different compilers for various platforms. The list of compilers used in the past is now uncountable.
Why is this - because I know the language rather than an implementation.
A consequence of choosing "Foo compiler" books is that you get the occasional jerk who insists that expressions such as "a ^= b ^= a ^= b;" are actually meaningful because his Foo compiler tells him an answer he can justify in his own mind.
So if you really want to go for "Bluff your way to C using Foo compiler in 42 seconds" then don't blame me when someone who's been programming C longer than you've been alive tells you that you've learnt a crock of .........
...And on my current project I'm using 2 embedded compilers as well as Borland C++Builder. I understand what you mean about needing to know ANSI-C, but I'm coming from the viewpoint that I have about 8 references on my bookshelf right now, a couple of which are compiler-specific (for BCB), and I don't think they're useless.
This thread shows me why I both like the board and hate it at the same time. I like the exchange of information but hate the tone of many of its posts. I respect both Salem and Quzah's post count and their seniority on this board. But to see this:
WTF? Salem, you're assuming that I've only ever read one C book like yourself. Actually, I started self-learning with a 21 Days book, then progressed to a handful of others and finally went to college and completed a 4-year Comp Sci degree. I think some of the C references used in my college courses were better at teaching C than the 21 Days book, and some worse...at any rate, this worked for me, and based on that I recommended it.Quote:
So if you really want to go for "Bluff your way to C using Foo compiler in 42 seconds" then don't blame me when someone who's been programming C longer than you've been alive tells you that you've learnt a crock of .........
Ok, let's recap, shall we?
KidA: I started learning C with Sams Teach Yourself in 21 Days, and would recommend it.
Dwks: Some of us would disagree.
KidA: OK.........reason(s) why?
... Several reasons given, none of which seem to satisfy...
KidA: (regarding the quality of the 21 days book) I think some of the C references used in my college courses were better at teaching C than the 21 Days book...
So then, why the heck didn't you recommend the ones which you feel are better? Furthermore, one would get the idea that you think we are picking on you, or that this is somehow personal. It's not. You recommended a book that many of us would not feel comfortable endorsing. Note - nobody condemned your second choice of books, the New C Primer Plus.
So what if some of us don't like the book? You yourself admit there are better books. Sure you started with it. So did I. In reading it, I learned how to properly declare main. I also learned to use feof to control a loop (among other things which are not advisable practise). Did I find the book helpful? Somewhat. In light of this, do I recommend it? Nope.
Should it bother you that I don't recommend it? I don't think so (I sure hope it doesn't anyway). Should the OP not have the opportunity to take all of these things into account? Or would it be better that nobody says anything, thereby leading the OP to believe the book is an excellent resource, when in reality it is considered to be poor by many knowledgeable programmers?
~/