I originally learned C++ (in college 4-5 years ago) and then when I
found I prefered Linux Systems Programming I just learned what in
C++ and not C and "ignored" the C++ stuff. I primarily concentrate
on C these days. What distinguishes the good programmers from
the average ones is the ability to unnderstand/use more complex
algorithms. I'd suggest trying to not get into the habit of substituting
poor algorithms to avoid having the learn them. Learn the algorithns
as you learn the system calls. Also, an important part of  being a
good C programmer is understanding pointers and how to use them to
your advantage.

Here are some of the books that I've found very helpful:

"The C Programming Language" (Kernighan & Ritchie, Prentice Hall)
This is the "C Bible". Anyone that doesnt own this book is not
a real C programmer. Written by the guys that invested C and
it covers C completely. The only downside is that they dont
waste any time explaining things which sometimes
requires you to read a paragraph 10 or more times to really
understand it. Explanations are quick and concise. Buy this
book first regardless.

"Systems Programming for SVR4" (O'Reilly & Associates)
If you understand the basics of C, this is an excellent book to get
you started with OS calls. Its for UNIX in general but Linux follows
many of the system calls in this book. Highly recommended.

"Practical C++ Programming" (O'Reilly & Associates)
Has a lot of C++ but it contrasts it with how to do things in C so
its a good resource either way.

"Developing Linux Applications" (Harlow, New Riders)
This is a good place to start if you want to learn about Gtk/Gdk
programming. But I'd suggest getting comfortable with C and
CLI systems programming first, then branch into Xwindows next.

"Mastering Algorithms with C" (O'Reilly & Associates)
This book covers many subjects that a textbook in college I used
did. It brings O'Reilly's simplicity to the subject matter which is a
huge plus. This a good algorithms/sorting/etc book.

"Algorithms in C, 3rd edition" (Robert Sedgewick)
An even more advanced algorithms book. I dont suggest starting
here until you are looking for advance algorothm ideas. Once
your ready, take a look at this book.

And most of all, try the man pages for linux functions. If you know
the function name the man page is a godsend for programmers.

Also, if you have specific C questions, feel free to ask them. I'll do
my best to answer.

Jason



At 03:15 PM 11/4/00 -0600, you wrote:
>
>
>    I have started learning the C language recently, and I wonder if
>anyone on the list might have good suggestions for programming books in C
>that they might recommend. I like programming books that start you off in
>the language, but make lots of references to Linux/Unix system calls and
>how the kernel and modules work. I am trying to avoid for the time being
>spending hours and hours going over the types of programming books that
>merely address algorithm A and algorithm B, C, D, super advanced sorts and
>what not. I am interested in learning more about how Linux works through
>learning C. I can save the in depth algorith analysis for later. I *DO*
>have the O'Reilly Practical C programming book, and have been shown the
>Linux Programmers Bible. Something along those lines. Any other
>suggestions anyone can make? Thank you.
>
>    - Jamie
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: tclug-list-unsubscribe at mn-linux.org
>For additional commands, e-mail: tclug-list-help at mn-linux.org
>