The Print Book and Ebook are now available from:
And other fine establishments.
I’ve been collaborating with several members of the C Standards Committee and other experts to propose a defer mechanism for C2x. Our initial proposal (which can be downloaded below) presents five design questions that will influence the final proposal. Let me know if you have any opinions below or on Twitter (follow me @RCS).
I’ve made a few videos over the years. Here are the ones where I kept my clothes on:
And here is what I looked like back in the 1980s talking about the Serpent User Interface Management System (UIMS) developed at Carnegie Mellon University’s Software Engineering Institute and programmed in K&R C.
I’ve set up this website to publish updates and additional material for the Effective C: An Introduction to Professional C Programming. I started writing this book in March 2019 while working at NCC Group as a Technical Director and serving as an expert in the C Standards Committee (ISO/IEC JTC1/SC22/WG14).
My goal in writing this book was to develop an introductory text for developers who want to learn C programming. This book was written to be as accessible as possible to anyone who wants to learn C programming, but it was also written to be accurate. I didn’t want to provide over simplified explanations and examples that would result in your code being substandard. So this book teaches you how to write clean, correct, maintainable code.
I also wanted the book to be a reasonable length, so that you could bring it with you on an airplane without having to check a bag. The hardest thing in writing this book was in determining what to leave out. That’s the main reason for this website–to publish blog posts on topics that couldn’t fit or links to NCC Group research or blog such as this recent blog on Improving Software Security through C Language Standards. I’ll also try to draw your attention to interesting proposals submitted to the C Standards Committee for possible standardization including some recent proposals I submitted:
As well as some other interesting proposals written by others:
Hopefully you’ll enjoy the book and check back here for updates and additional resources as you continue to grow your understanding of C Language Programming.