Is "C For Dummies" any good?

K

K. G. Suarez

Hello everyone.

I am new to programming and my uncle gave me a copy of "C For Dummies
2nd Edition". I am up to chapter 9 right now. He probably saw me
struggling with "The C Programming Language" by Ritchie and Kernigahn
and felt bad.

Does anyone have experience with this book? I feel that it is helping me
along pretty well. But how much will this book teach me? What would be
the next book to read?
 
?

=?iso-8859-1?q?Nils_O=2E_Sel=E5sdal?=

Hello everyone.

I am new to programming and my uncle gave me a copy of "C For Dummies
2nd Edition". I am up to chapter 9 right now. He probably saw me
struggling with "The C Programming Language" by Ritchie and Kernigahn
and felt bad.

Does anyone have experience with this book? I feel that it is helping me
along pretty well. But how much will this book teach me? What would be
the next book to read?
In my experience XXX for dummies are best avoided.
 
K

K. G. Suarez

Hi, Nils.

Can you explain to me why I should avoid the book? Can you recommend a
better book, or one that I should read after?
 
O

Odyssey

K. G. Suarez said:
Hi, Nils.

Can you explain to me why I should avoid the book? Can you recommend a
better book, or one that I should read after?

Why not finish the book then have a go at k & r again afterwards?
 
P

Peter Nilsson

K. G. Suarez said:
Hello everyone.

I am new to programming

Then I recommend you give C a miss until you're more familiar with
structured programming languages.
and my uncle gave me a copy of "C For Dummies
2nd Edition". I am up to chapter 9 right now. He probably saw me
struggling with "The C Programming Language" by Ritchie and Kernigahn
and felt bad.

Does anyone have experience with this book? I feel that it is helping me
along pretty well.

Then use it. Just be aware that many books are not teaching you strict C but
instead teach a variant that the author is familiar with, and which may not
work on other machines.

Read your book first, then read K&R2 which is likely to be closer to the C89
standard on which it is based [Except for Chapter 8.]

You can scan ACCU's reviews at...

http://www.accu.org/bookreviews/public/index.htm

But bare in mind that many reviews are not exactly objective or
authoritative. The one for your book (although possibly an earlier edition)
is a classic case in point.
But how much will this book teach me? What would be
the next book to read?

Everyone has their own learning styles. Asking lots of people for their
opinions will only get you so far. In the end, YOU'RE the one doing the
reading so it's important that you get a book that suites YOU, not the
majority of OTHER people.

Note that a _good_ book will state it's objectives and target audience early
on, either in the preface or the introduction.

A good way to assess books is to scan them for sections on topics which you
found difficult under previous texts. If it explains that topic well, then
in all likelihood it will be suited to you. You can also scan for common
mistakes. Read the CLC FAQ for examples. If a book seems to be making many
mistakes covered by the FAQ, then it's probably best avoided.
 
R

Rouben Rostamian

Hello everyone.

I am new to programming and my uncle gave me a copy of "C For Dummies
2nd Edition". I am up to chapter 9 right now. He probably saw me
struggling with "The C Programming Language" by Ritchie and Kernigahn
and felt bad.

Does anyone have experience with this book? I feel that it is helping me
along pretty well. But how much will this book teach me? What would be
the next book to read?

I suggest that you don't read "C For Dummies". It has the potential
to mislead you.

I am basing this statement based on the author's VERY confused
rambling in:

http://www.c-for-dummies.com/lessons/linux/01/index.html

He shows a program that compiles and runs under Windows but
crashes under Linux. He appears to puzzled why this happens.

His problem is that he is trying to modify a string literal.
That's in violation of the C standard.

This is Question 1.32 in comp.lang.c's FAQ.

At least he should be given credit for his honesty.
 
K

K. G. Suarez

Peter said:
Then I recommend you give C a miss until you're more familiar with
structured programming languages.

My uncle recommended that I start out with something more simple too. So
I tried out "Python". It was confusing. I still don't understand what
it's good for. I don't want to waste my time on it.
Then use it. Just be aware that many books are not teaching you strict C but
instead teach a variant that the author is familiar with, and which may not
work on other machines.

Should I learn C or not? My machine (not the one I am posting this
message with. I am upgrading it right now.) runs on FreeBSD. So far
everything in the book is working on it.
Read your book first, then read K&R2 which is likely to be closer to the C89
standard on which it is based [Except for Chapter 8.]
Okay.

You can scan ACCU's reviews at...

http://www.accu.org/bookreviews/public/index.htm

But bare in mind that many reviews are not exactly objective or
authoritative. The one for your book (although possibly an earlier edition)
is a classic case in point.

That review is for another book. Mine is not a set of 2. I wish I knew
what the difference was between this one and mine.
 
A

Alan Connor

My uncle recommended that I start out with something more simple too. So
I tried out "Python". It was confusing. I still don't understand what
it's good for. I don't want to waste my time on it.

Try bash. It's very useful for system administration and contains
many of the basic constructs found in C. (or any programming language).

Its a "high-level" language of utiliatarian value, although you can
write very cool programs with it if you want. They run faster in C
as a rule, which is often irrelevant.

No compiler necessary. Very easy to play with.

You'd need the OREILLY book "Learning the bash Shell" (cheap if you get a
used copy on Amazon) 2nd Edition, and the Advanced Bash Shell Scripting Guide:

Linux Documentation Project:
http://www.tldp.org/LDP/abs/html/
http://www.tldp.org/LDP/abs/html/index.html
http://www.tldp.org/LDP/abs/abs-guide.html.tar.gz
http://www.tldp.org/LDP/abs/abs-guide.pdf

Sunsite:
http://www.ibiblio.org/pub/Linux/docs/linux-doc-project/abs-guide/
Postscript --

http://www.ibiblio.org/pub/Linux/docs/linux-doc-project/abs-guide/abs-guide.ps.gz

Text --

http://www.ibiblio.org/pub/Linux/docs/linux-doc-project/abs-guide/abs-guide.txt.gz

And the comp.unix.shell FAQ:

http://home.comcast.net/~j.p.h/

http://groups.google.com/groups?selm=dr%9c.126330$_w.1560787@attbi_s53

-------------

There's also the man page and the FAQ and The GNU Bash Reference Manual and
tutorials on the web by the dozens.

Since you are running Windoze, install cygwin or gnuwin (POSIX/Unix emulators).
Or get Knoppix, which is on a CD and loads up a complete Linux OS in a ramdisk,
never touching your hard drive.

For basic training in Linux see http://rute.sourceforge.net

The first 9 chapters or so.

This would be a very good move. Windoze sucks. Been there. C is C, whether
you are using GCC (the Gnu compiler collection) on Linux or the MS C++
compiler.

Linux is free, too. Just download any of the above from the Internet.

<snip>

AC
 
A

anonymous

[snip]
Does anyone have experience with this book? I feel that it is helping me
along pretty well. But how much will this book teach me? What would be
the next book to read?

"Expert C programming - Deep C secrets" by Peter Van Der Linden is a
good book, but as the author himself says - it should be the "second
book" on C.
 
T

theshowmecanuck

Hi, Nils.

Can you explain to me why I should avoid the book? Can you recommend a
better book, or one that I should read after?

Aside from the possibility that the author may have provided some bad code
in an example, as posted above, no. Books sometimes have poor examples,
but I would say that in as long as that is the only one, it is probably OK
to use it as a starting point.

The thing is, just make sure you don't get trapped in the simplified view
of the C language that it provides. Remember that it is a 'baby steps'
kind of book, and that there is far more to C than what it describes. We
all have to start somewhere, and generally we need to crawl before we can
walk before we can run. So as long as you remember that, use it as a
starting point.

That said, a book I found very well written and structured for both
learning and as a reference was: 'The Indispensable Guide to C' by Paul
Davies. It was/is published by Addison Wesley and can be purchased on
Amazon. It says 'with Engineering Applications' at the bottom, but don't
let that worry you. It is very well laid out, and has excellent examples.
Actually for learning, I would say it is awesome. :)

Here is the Amazon link... good luck with your learning!

http://www.amazon.com/exec/obidos/t...6360-5878325?v=glance&s=books#product-details
 
M

Malcolm

K. G. Suarez said:
Should I learn C or not? My machine (not the one I am posting this
message with. I am upgrading it right now.) runs on FreeBSD. So far
everything in the book is working on it.
You won't go far as a programmer without knowing C.

However it isn't an ideal first language, mainly because of the pointer
syntax. You also have the problem that graphics libraries are add-ons, and
most starting programmers like to produce some graphics to give a sense of
achievement. Personally I would recommend learning a beginner's language to
start with, maybe Visual Basic.

However I wouldn't say it is necessarily a disaster to learn C first.
 
N

newby2c

K. G. Suarez said:
Hello everyone.

I am new to programming and my uncle gave me a copy of "C For Dummies
2nd Edition". I am up to chapter 9 right now. He probably saw me
struggling with "The C Programming Language" by Ritchie and Kernigahn
and felt bad.

Does anyone have experience with this book? I feel that it is helping me
along pretty well. But how much will this book teach me? What would be
the next book to read?

Greetings,

I too am new to programming, and I am also using the "C for Dummies" (2nd
edition) book to get started. I am finding it very usefull, as the book is
in no way intimidating (perfect for us newcomers!). I think it is the
perfect *starting* resource. I plan to go through it and then move on to
K&R2. For now, I am enjoying creating the small programs from the book and I
am getting a great sense of programming structure as well. This material
teaches only the tip of the C language. However, isn't that exactly what a
new programmer needs to begin with?

Best,
newby2c
 
J

Joona I Palaste

Malcolm said:
You won't go far as a programmer without knowing C.

It depends. I have got quite far mostly knowing Java. I know C, but it
hasn't really come into use in either of my jobs so far.
However it isn't an ideal first language, mainly because of the pointer
syntax. You also have the problem that graphics libraries are add-ons, and
most starting programmers like to produce some graphics to give a sense of
achievement. Personally I would recommend learning a beginner's language to
start with, maybe Visual Basic.

My first language was BASIC, followed by Pascal, then Java and later C.
I didn't learn Java that well at first, in fact I was horrible at it.
But I learned C quickly enough. Then I went into advanced Java courses
and learned much more about it.
However I wouldn't say it is necessarily a disaster to learn C first.

--
/-- Joona Palaste ([email protected]) ------------- Finland --------\
\-- http://www.helsinki.fi/~palaste --------------------- rules! --------/
"A bee could, in effect, gather its junk. Llamas (no poor quadripeds) tune
and vow excitedly zooming."
- JIPsoft
 
R

Randy Howard

I too am new to programming, and I am also using the "C for Dummies" (2nd
edition) book to get started. I am finding it very usefull, as the book is
in no way intimidating (perfect for us newcomers!). I think it is the
perfect *starting* resource. I plan to go through it and then move on to
K&R2. For now, I am enjoying creating the small programs from the book and I
am getting a great sense of programming structure as well. This material
teaches only the tip of the C language. However, isn't that exactly what a
new programmer needs to begin with?

As long as you are willing to accept that you may be learning some things
that are not strictly correct, may not work on every machine you try them,
and may in fact have to be "unlearned" when you move on to the "next book",
then it isn't a problem. If instead you take it all as factual, you may
be in for a rough ride if you stick with the language long term.
 
M

Mabden

I think you and the OP are making a fine decision in using a "Dummies" book.
I have several that I use for things I know quite well, as they are quick
and easy to use to find basic info. I flip through my "HTML (or DHTML) 4
Dummies" all the time for the basic syntax or quick JavaScript templates for
something I'll flesh out later. "SQL 4 Dummies" is great for remembering how
to do a basic inner join, etc.

When you get to the K&R book ("The Bible"), try to remember that you don't
need to completely understand every nuance the first time through. Also, if
you get bogged down on something (like, chapter 5 for instance -> pointers)
you can skip ahead and read the rest of the book. The previous chapters may
make more sense after you've seen what lies ahead. Do the exercises! Study
the examples! They say more than you'd think, as they are subtle and
elegant. Understand every line before moving on (wait, does that contradict
what I just said about skipping ahead...?)
 
N

newby2c

Randy Howard said:
As long as you are willing to accept that you may be learning some things
that are not strictly correct, may not work on every machine you try them,
and may in fact have to be "unlearned" when you move on to the "next book",
then it isn't a problem. If instead you take it all as factual, you may
be in for a rough ride if you stick with the language long term.

Greetings Randy,

I've heard many people say that very same thing. I wonder, could you please
site an example of something in CfDummies(2) that is not "strictly correct",
etc.? I'm curious to know what these items could possibly be. Being a
confessed newby2c, I understand the possibility of being *molded* by my
first book on the subject. However, with this group here and other books I
have (K&R2 for example), I am confident that I could remain flexible enough
to accept a new learning curve if need be. Anyway, thanks for posting with
your input. I'm sure the OP has had gotten his answer by now.

Best,
newby2c
 
R

Randy Howard

Mabden, please get your attributions correct, I did NOT write
what you are replying to below... and yes, this is an intentional
top-post, since the contents are incorrect below.
 
N

newby2c

Mabden said:
I think you and the OP are making a fine decision in using a "Dummies" book.
I have several that I use for things I know quite well, as they are quick
and easy to use to find basic info. I flip through my "HTML (or DHTML) 4
Dummies" all the time for the basic syntax or quick JavaScript templates for
something I'll flesh out later. "SQL 4 Dummies" is great for remembering how
to do a basic inner join, etc.

When you get to the K&R book ("The Bible"), try to remember that you don't
need to completely understand every nuance the first time through. Also, if
you get bogged down on something (like, chapter 5 for instance -> pointers)
you can skip ahead and read the rest of the book. The previous chapters may
make more sense after you've seen what lies ahead. Do the exercises! Study
the examples! They say more than you'd think, as they are subtle and
elegant. Understand every line before moving on (wait, does that contradict
what I just said about skipping ahead...?)

Greetings Mabden,

Thanks for the encouraging input. I agree that the "Dummies" series is a
great *first resource* for many of the more complex issues and projects out
there (of which the 'C' language is definitely one of!). I've recently
become a hockey fan and know absolutely nothing about the game. So, I picked
up "Hockey for Dummies" and now I'm learning all about the history, players,
positions, tactics, etc. And all in a very user friendly way. But there is
one item I have as yet to mention. I am having FUN learning the 'C'
language! I am not intimidated. I understand clearly everything being
taught. I get to laugh at many of the authors humurous rantings. And also, I
am actually coding small programs that work! Not just the ones in the book
either. Sometimes when I learn something new, it gives me ideas of how I can
implement it, and wouldn't you know, I've even made a few programs up myself
(proud grin).

Take care,
newby2c
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,008
Latest member
HaroldDark

Latest Threads

Top