Goodreads helps you keep track of books you want to read.
Start by marking “21st Century C: C Tips from the New School” as Want to Read:
21st Century C: C Tips from the New School
Enlarge cover
Rate this book
Clear rating
Open Preview

21st Century C: C Tips from the New School

3.78  ·  Rating details ·  152 Ratings  ·  22 Reviews
Throw out your old ideas of C, and relearn a programming language that's substantially outgrown its origins. With "21st Century C," you'll discover up-to-date techniques that are absent from every other C text available. C isn't just the foundation of modern programming languages, it is a modern language, ideal for writing efficient, state-of-the-art applications. Learn to ...more
ebook, 273 pages
Published October 15th 2012 by O'Reilly Media (first published January 1st 2012)
More Details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about 21st Century C, please sign up.

Be the first to ask a question about 21st Century C

This book is not yet featured on Listopia. Add this book to your favorite list »

Community Reviews

(showing 1-30)
Rating details
Sort: Default
Dec 21, 2012 rated it really liked it  ·  review of another edition
Shelves: computer
All engineering students take a one semester course fairly early in their education. My experience as a professor is that most of them promptly forget it and never make use of it again. I get alternately amused and discouraged at the lengths some of the students I work with go to avoid programming again. Because that one semester course teaches a programming language, but does not teach someone how to program. This book is meant to take someone through that step. It is sometimes hard to follow ( ...more
Chris Maguire
Nov 08, 2012 rated it it was amazing  ·  review of another edition
This book is awesome. The author is experienced, clear and funny. Klemens' tactic is to give a crash course in the various tools needed to produce usable, portable, up-to-date C code without getting into boring minutiae that can be googled when needed. To me this book means the difference between being able to compile an executable and being able to write software. I'm actually excited to write some C after this, but also a little scared.

Word of warning: at least a little knowledge of C is requi
Jan 07, 2013 rated it it was amazing  ·  review of another edition
The idea of this book is that the C programming language has been quietly evolving, while C++ and Java took all the glory. But those languages are a mess, C++ in its syntax and gotchas and Java in its resource abuse. In its recent standards and libraries, C has many of the same features, rendering the newer languages mere syntactic sugar. C doesn't candy coat. Or, as this book puts it, it's the "punk rock of programming languages." Fast, messy, and dangerous.

I thought it was an interesting idea,
Apr 16, 2017 rated it it was amazing  ·  review of another edition
21st Century C is one of those rare technical books that is truly what I would consider to be an intermediate level book. It is a pity that more books aren't written at this level, as this is where I feel like I currently am in my career.

This is not an "Into to Programming" book that happens to use C. Instead it is a book that a moderately experienced non-C programmer can use to learn some C. Not everything is spelled out step-by-step. You'll need to look up the documentation to some of the libr
Jan 04, 2016 rated it really liked it  ·  review of another edition
Shelves: prog-ref
If you want to learn to program in C, the time-honoured recommendation is Kernighan & Richie's venerable and succinct text "The C Programming Language". Like the language itself, that book is now getting a bit long in the tooth, and fails to cover the more recent revisions to the language (C99 and C11), not to mention the evolution in operating systems and development environments.

"21st Century C" steps in to fill this decades-long gap and provides an up-to-date perspective on programming in
Dec 23, 2014 rated it liked it  ·  review of another edition
Shelves: programming
Nice idea, poor implementation.

This book contains two parts: tools supplementary to C programming and a collection of C tips on pointers, macros, functions returning multiple items, functions that take a variable number of parameters.

The first part -tools useful for C programming such as makefile, debugger (gdb), memory profiling (Valgrind), version control (git)- is an ambitious move, that is trying to cover all these tools. These tools are mostly from past century, they are powerful yet someti
Dec 06, 2012 rated it really liked it  ·  review of another edition
Lots of very good information that it took me years working professionally to figure out. Source control, libtool, automake, doxygen, this book covers them all.
I liked the book's premise, and it has some interesting snippets and gems, but unfortunately it falls short in a couple of areas.

Having information and examples on the surrounding tooling is certainly practical, but the git chapter felt really unnecessary. Git is so ubiquitous nowadays, that I hardly see the point. Including the other tools, however, makes more sense (valgrind, doxygen, make, autotools, etc.). Instead of Git, the author could have played with some of the available static analysi
Dan Watts
Aug 12, 2017 rated it really liked it  ·  review of another edition
Half of this book is an enjoyable up-to-date primer on the C programming language. The other half covers 3rd party libraries and tools which are needed to plug gaps in C's built-in capabilities, undermining the author's claim that C is still viable as a development platform. I haven't coded much in C for decades, having moved on to full-featured platforms built around other languages . As a relatively easy-to-read refresher on C, the book works well. As an argument in favor of using C for genera ...more
Feb 24, 2016 rated it really liked it  ·  review of another edition
I've read it all and I keep reading parts of this great little book. Probably the best,most helpful book I've read about programming in the C language right after "The C Programming Language," 2nd edition, by Kernighan and Ritchie.

// just a snippet of an imaginary program I didn't write. I think it's correct - I used stuff from the
// book to write it. I didn't know about the brackets, f'rinstance.

the double slash is a new way of commenting in C, to annotate the program
and the other, establi
Tudor Ștefănescu
Feb 04, 2014 rated it really liked it  ·  review of another edition
Shelves: programming
o trecere în revistă a ceea ce-ți trebuie pentru a programa în C. Nu intră în amănunte dar e bună ca să-ți dea câteva idei de ce ar trebui să cauți mai departe, iar pe alocuri chiar o poți folosi ca pe un "quick guide" (în special partea de source control - git). În plus se concentrează pe "noul C": C99/C11 care are câteva lucruri pe care eu (programator C/C++ de 11 ani) nu le știam (cum ar fi keyword-ul "restrict").
Vasil Kolev
Dec 08, 2012 rated it did not like it  ·  review of another edition
Shelves: tech
This was bad. There was nothing new for me in there, except probably asprintf() (and with a title like this I expected a lot more), and all the stuff explained was brief, non-systematic and mostly an explanation of the author's mode of work. Everyone would be better by reading the unix network programming books by Stevens, and a few manuals for whatever he/she sees used in any medium-sized project.
Nov 26, 2012 rated it really liked it  ·  review of another edition
Tons of great ideas for writing modern, flexible C. In all honesty, I'm not sure if my disappointments with some of the tips regarding makefiles and dependency management have to do with the book or the ecosystem itself. It seems very difficult to set up a C project compared to Python, Ruby, or other languages... luckily, Xcode takes care of a lot of the process, but it would have been nice if the author presented a similarly convenient set of tools. Maybe I'm just being picky.
Jonas Granquist
Feb 23, 2014 rated it really liked it  ·  review of another edition
With my background this is a very useful book! I learned C++ about 10 years ago but was always advised to use STL-vectors and strings instead of arrays so I did not give those topics the attention they deserved. Now I work in a project with C and this book quickly got me up to speed on some of the things I had forgotten. The one thing I did not like about the book is that a big part of it isn't C-related, like version control, etc.
I had much more expectations and expected to find something useful for myself – I did not.

This book, however, would do a good job showing just-after-K&R beginners how to give birth to C code and stay sane. Another thing to be aware of: like most tutorial-type books this one already is outdated and does not overview some of useful tools available today.
Alexei Averchenko
Jun 26, 2015 rated it it was amazing  ·  review of another edition
Shelves: tech
An enjoyable read, great to get you pumping for some low-level hacking - now with proper library use and great external interface. I'd recommend it as a second or third C book to read, for me personally there were very few technical things I didn't already know, but a wealth of encouragement to use things I knew about but wasn't sure were worth using in practice.
Hristo Deshev
Jan 24, 2013 rated it did not like it  ·  review of another edition
Apart from a couple of useful tricks that could have been described on ten pages at most, this book is mostly a waste of time. Skim through it, to get a hold on some of the macros and maybe the Glib section, but don't devote too much time on the rest.
May 03, 2014 rated it did not like it  ·  review of another edition
This book is filled with tips on how to use non-intuitive build tools and pick up some very bad coding habits while you're at it. I suppose it could be useful as a reference if you really need to know the intricate details of makefiles for some project.
Spike Grobstein
Lots of interesting info, but some really bad advice for anyone who is building production quality applications. If you're an oldschool(ish) c coder, this will introduce you to a lot of the new features of modern c.
I have some doubts about the goodness of a C book that claims that given the great amout of memory on modern machines, memory leaking ain't a problem.
Jul 13, 2014 rated it liked it  ·  review of another edition
Shelves: devel, ebook
It seems that some (most?) tips are more useful when writing small programs, because there is a lot of indirection in the code.
rated it really liked it
Apr 10, 2014
rated it really liked it
Feb 11, 2017
Miroslav Vidović
rated it it was amazing
Apr 12, 2017
rated it liked it
Oct 06, 2016
Eduardo Urias
rated it really liked it
Sep 23, 2015
Zach Denton
rated it liked it
Oct 07, 2014
Steven Raspudic
rated it it was amazing
Jun 24, 2017
Arnav Katgeri
rated it it was amazing
Dec 23, 2016
Prakhar Bhandari
rated it really liked it
Sep 21, 2016
« previous 1 3 4 5 6 next »
topics  posts  views  last activity   
Goodreads Librari...: 21st Century C - 978-1-449-32714-9 3 21 Mar 02, 2013 03:05AM  
  • Code Simplicity: The Fundamentals of Software
  • Expert C Programming: Deep C Secrets
  • The Art of Assembly Language
  • Linux System Programming: Talking Directly to the Kernel and C Library
  • Practical Packet Analysis: Using Wireshark to Solve Real-World Network Problems
  • The Art of Readable Code
  • Interactive Data Visualization for the Web
  • Programming Python
  • Mastering Algorithms with C
  • Practical Vim: Edit Text at the Speed of Thought
  • Test Driven Development for Embedded C
  • Python Cookbook
  • Programming Scala: Scalability = Functional Programming + Objects
  • High Performance JavaScript
  • The Linux Programming Interface: A Linux and UNIX System Programming Handbook
  • Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software
  • The Art of the Metaobject Protocol
  • Coding the Matrix: Linear Algebra through Computer Science Applications

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »