Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Learning advanced C.....

Posted on 1998-09-12
8
Medium Priority
?
908 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
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 

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

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

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

An Outlet in Cocoa is a persistent reference to a GUI control; it connects a property (a variable) to a control.  For example, it is common to create an Outlet for the text field GUI control and change the text that appears in this field via that Ou…
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 and use pointers 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.

916 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