tags:

views:

107

answers:

3

Hello,

I am looking for a book on advanced C programming that:

  • Teaches how to effectively express one's solution in C when one already knows the language in depth, how to express useful practical abstractions.
  • Shows some common design idioms expressed in C, like encapsulation, modularity and that kind of thing.
  • Is example-driven with a lot of good-quality code.

I already know the language itself so books like otherwise wonderful "Expert C Programming" by Peter van der Linden is not really what i am looking for. What i need is a book on how to express my design in C, what are the common idioms, best practices, distilled professional experience, etc. I also don't really need another data structure implementation book. And just in case i'd like to stress that i am primarily interested in C, not C++, C#, Objective-C or any other language from C-like syntax family.

Thank you.

A: 

I'm not sure is it advanced enough for you, but i recommend:

B.W. Kernighan, D. M. Ritchie - ANSI C

It has a lot of good examples mainly from unix/linux tools - tools that you know and use often are explained and presented as C code.

Cheers

Kuba Tyszko
There is no such book.
anon
A: 

Thought I'm not able to recommend any of these: This search on google books came up with some interesting looking ones:

Advanced C: techniques and applications Gerald E. Sobelman, David E. Krekelberg - 1985 - 321 pages Concentrates on the More Complex Aspects of C Language. The Three Parts Include Implementing Complex Data Structures, Applications of the Language...

Advanced C Herbert Schildt - 1988 - 403 pages Introduces advanced programming techniques for the C programming language and covers sorts, searches, simulations, queues, stacks, binary trees, and memory models

Lots of people also recommend The Art Of Computer Programming (Knuth) to get more knowledge on algorthms etc.

Preet Sangha
Anyone who recommends books by Schildt is being either very brave or very stupid. Oh - you haven't actually read it - then it's the latter.
anon
Thanks Neil. Care to give us simple reasons as to why Schildt is bad please?
Preet Sangha
+1  A: 

C Interfaces and Implementations: Techniques for Creating Reusable Software by David R. Hanson.

Igor Krivokon
That looks promising, thanks.
Inso Reiges