Solved

Learning advanced C.....

Posted on 1998-09-12
8
890 Views
Last Modified: 2008-02-01
Hi guys,
  I just want some feedback/advice... I hope to be someday be a C 'guru' and right now, my C is quite alright though nothing great. What books do u recommend reading to advance your C to the next level? I would consider myself to be at the intermedite level. I program using Unix platform. An important requirement would be the topics in the book is helpful to real life work requirements. After all, what use is it if I am an expert in some hardly used parts of C such as recursive functions.. ?

Thanks!
David
0
Comment
Question by:Haho2
  • 3
  • 2
  • 2
  • +1
8 Comments
 
LVL 3

Expert Comment

by:xyu
ID: 1252667
Recursive function???.... Yeah... thats right :) 1 course of any University (Applied Math or Computer Sciences) :)  Look... C is just a language better than others or not... its doesnt matter :)
but... what is really matter is what You know except the language or tools :) so Your question is what to read... so read N. Wirth "Algorithm, DataStructues, Programs", etc. choose the area that You want to specialize on and read about it... try to learn some other programming languages like LISP or Prolog, that may give some new ideas that You can use in everyday programming in C ;) Meanwhile the most advanced books about C, C++, Pascal, Fortran, etc.. are ANSI standards of those languages... than when You moving to new specific compiler You need just to learn a little bit specifics :)...

And never ever say that You are expert in recursive finction... its sounds  unprofessional :) because recursion is very basic and simple therm ... for anybody who is in this busuness and has a little thoretical background :), like 1 year of university :)
if You need some more help e-mail to ok@netvision.net.il

And dont forget about C++ :) it's great thing ... You'll like it :)
0
 

Author Comment

by:Haho2
ID: 1252668
thanks xyu,
  I am reopening this question because I want to hear what others have to say (comment if u like )... again thanks for the book recommendation. BTW, I am NOT a expert in recursive functions, I was just trying to prove a point whereby it is no use to be an expert in some rarely used area when real work skills really matter..  :)

David Chong
0
 
LVL 3

Expert Comment

by:xyu
ID: 1252669
:)
first of all recursive functions are not rarely used thing :)
second... what is Your background... it may help me to give You more specific advise :)

Good luck :)
0
 

Author Comment

by:Haho2
ID: 1252670
hi xyu,

  I am using MFC, VB and C in my work. MFC and Vb is on Windows platform wheareas C is on Unix(HP-UX). I find C/C++/MFC very interesting and I would like to emphasis on these languages esp. C cause I will be using it a lot in my upcoming project. I have Richard Stevens 'Network Programming' which is a good book but I am looking for a good advanced level C book.Thanks  :)
0
ScreenConnect 6.0 Free Trial

At ScreenConnect, partner feedback doesn't fall on deaf ears. We collected partner suggestions off of their virtual wish list and transformed them into one game-changing release: ScreenConnect 6.0. Explore all of the extras and enhancements for yourself!

 
LVL 2

Expert Comment

by:JYoungman
ID: 1252671
Read the comp.lang.c FAQ (or the book, ISBN 0-201-84519-9).
Read the language standard rationale                   
   (http://www.lysator.liu.se/c/rat/title.html).
Read the other stuff on http://www.lysator.liu.se/c/index.html.
Read lots of other people's code.  Criticise it.  Fix bugs in it.
Use LCLint (http://www.sds.lcs.mit.edu/lclint/).  Turn on all warning messages.  Decide what they all mean.
Write a program; then make it compile unchanged and work correctly on at least two other compilers (preferably on different systems).
See if you can grok some of the IOCCC entries (http://reality.sgi.com/csp/ioccc/).


0
 
LVL 2

Expert Comment

by:JYoungman
ID: 1252672
When I said "turn on all warning messages", I meant on your compiler, not LCLint.  Perfectly correct programs still generate messages from LCLint unless you specify its --weak option.

0
 
LVL 2

Accepted Solution

by:
bernfarr earned 50 total points
ID: 1252673
I think one area that all of us can do better in is advanced data structures and their use. To that end, I'd recommend the book:
  Data Structures and Program Design in C by Robert Kruse

If you're REALLY working on C, you absolutely need the book:
  C: A Reference Manual by Samuel Harbison, Guy Steele
this book is now in its 4th edition. I have all four editions because each one was a very valuable resource. Not a book to learn C from, but something that carefully explains the nuances of parts of the language that may be interpreted differently by different implementors, and also gives a good reference section on the standard C libraries.

After that, as others have said, decide where you want to specialize. Network programming is really hot at the moment, so you may want to consider the book:
  Unix Network Programming by W. Richard Stevens

(it's also got a good intro to Unix in the first few chapters).

If you're considering going into Windows programming, then you really need to learn MFC. Which means you really need to learn C++. For MFC, I'd use:
  Inside Visual C++ by Dave Kruglinski

and for C++, I'd use any of:
  C++ Primer by Stanley B. Lippman
  Effective C++ by Scott D. Meyers
  Advanced C++ Programming Styles and Idioms by James Coplien

Good luck. I've been using C on and off for nearly 18 years and consider myself a reasonable expert. I still get thrown from time to time.
0
 

Author Comment

by:Haho2
ID: 1252674
Thanks to all esp. bennfar, esp. he listed his favourite books which I think will help me too.. thanks also to xyu and the others...
0

Featured Post

ScreenConnect 6.0 Free Trial

Discover new time-saving features in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI, app configurations and chat acknowledgement to improve customer engagement!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Summary: This tutorial covers some basics of pointer, pointer arithmetic and function pointer. What is a pointer: A pointer is a variable which holds an address. This address might be address of another variable/address of devices/address of fu…
Windows programmers of the C/C++ variety, how many of you realise that since Window 9x Microsoft has been lying to you about what constitutes Unicode (http://en.wikipedia.org/wiki/Unicode)? They will have you believe that Unicode requires you to use…
The goal of this video is to provide viewers with basic examples to understand recursion in the C programming language.
The goal of this video is to provide viewers with basic examples to understand how to create, access, and change arrays in the C programming language.

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now