REVIEW - 21st Century C - C Tips from the New School


21st Century C

C Tips from the New School


Ben Klemens


O'Reilly (2012)




Alexander Demin


October 2016



Reviewed: January 2013

This is the first sentence from the preface: ‘C has only a handful of keywords and is a bit rough around the edges, and it rocks. You can do anything with it. Like the C, G and D chords of a guitar, you can learn the basic mechanics pretty quickly, and then spend the rest of your life getting better.’

Frankly, I had been hooked by this book from the start because I personally share exactly the same feeling about C. So, I continued reading, and here is my, of course, biased and subjective review.

As follows from the title, this book is about the latest cutting edge C, but it is not a textbook. Instead, the author explains some details of modern C, which many people still do not use sticking instead with ‘classic’ approaches, and also covers best practices for productive working with C.

First, the author briefly covers the situation with standards (C89, C99 and C11) and major implementations (gcc, clang). He steps through programming environments of modern C, debugging and documenting, version control, and packaging. Then he comes to the language itself. There is a chapter called ‘C syntax you can ignore’, which I read first. The rest of the book is dedicated the best practices: use of structures and pointers, text (mostly about Unicode), object-oriented approaches in C and a few mainstream libraries.

It may look like the material is a bit chaotic, but, again, this is not a textbook. The material definitely helps with rethinking your current use of C applying all new fancy bells and whistles.

Finally, a couple of my personal findings. For example, I had not heard at all about the restrict keyword and the asprintf()function. I liked a lot that the author promotes makefiles instead of piling up zillions of scripts, plus the advice of using private_ prefix in structure field names (simple and harmless but practical).

Any book can become tedious if you agree with everything. But I found that some topics like ‘a good use of goto’, autotools and doxygen generate a lot of arguments in me. Such ‘holy war’ subjects make the book even better because you will have more topics for a chat with your colleagues on the kitchen.

Book cover image courtesy of Open Library.

Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED

By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED

Settings can be changed at any time from the Cookie Policy page.