View Single Post
  #2   (View Single Post)  
Old 15th December 2012
ocicat ocicat is offline
Join Date: Apr 2008
Posts: 3,300

Originally Posted by silex View Post
I would like to become a good C programmer, where to start or not really, where/how to begin getting better?
Following K&R, my personal choice is Andrew Koenig's C Traps & Pitfalls for general material. After that, studying more specific & applied topics is in order (such as any networking book by W. Richard Stevens...).

I would also recommend studying assembly language, & how to splice assembly language modules into C code. Do the same with C++ too.

Likewise, understanding programming conventions which will make the lives of maintainers easier is useful. Learning to write portable code will help develop perspective. Understanding how to write POSIX compliant code & knowing why this is important is also good to weave into your own personal style.

Lastly, study how to test code. Testing is highly underrated, & proving that implemented code does what it is supposed to do is a art most overlook.

Programming requires long periods of thoughtful study & practice. One has to understand the fundamental problem being solved, & one has to bend the language to solve that particular problem.
Is there any reference to the best C libraries or even programs out there?
Choose one of the better Open Source projects, & study their code base. As examples, both the PostgreSQL & SQLite projects are frequently referred to having clean code which is well tested.
Reply With Quote