Very giftable deals
€42.15
Prices for items sold by Amazon include VAT. Depending on your delivery address, VAT may vary at Checkout. For other items, please see details.
FREE delivery Friday, 6 December. Order within 2 hrs 26 mins
Only 14 left in stock (more on the way).
€42.15 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
€42.15
Subtotal
Initial payment breakdown
Delivery cost, delivery date and order total (including tax) shown at checkout.
Dispatches from
Amazon
Dispatches from
Amazon
Sold by
Amazon
Sold by
Amazon
Returns
Returnable until 31 Jan 2025
Returnable until 31 Jan 2025
For the 2024 festive season, this item if purchased between 1 November and 25 December 2024 can be returned until 31 January 2025 or within 30 days from receipt (whichever is later).
Returns
Returnable until 31 Jan 2025
For the 2024 festive season, this item if purchased between 1 November and 25 December 2024 can be returned until 31 January 2025 or within 30 days from receipt (whichever is later).
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet or computer – no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

21st Century C Paperback – 11 Nov. 2014

4.4 4.4 out of 5 stars 97 ratings

{"desktop_buybox_group_1":[{"displayPrice":"€42.15","priceAmount":42.15,"currencySymbol":"€","integerValue":"42","decimalSeparator":".","fractionalValue":"15","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"mRq7vGim3R49wAxGWKZIsPnAKQWpNnlkzjZxuHABF6yIYVjsH9Yw9VDnLY6%2FO4YLqGGjIfJ%2BSZm77AOFxRoSS7xeZ4kJPufbTOqn9M4xUOcejjkV2PFq4kkUv7CWDJcpuIFkQQneDAc%3D","locale":"en-GB","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}]}

Purchase options and add-ons

Throw out your old ideas about C and get to know a programming language that's substantially outgrown its origins. With this revised edition of 21st Century C, you'll discover up-to-date techniques missing from other C tutorials, whether you're new to the language or just getting reacquainted.

C isn't just the foundation of modern programming languages; it is a modern language, ideal for writing efficient, state-of-the-art applications. Get past idioms that made sense on mainframes and learn the tools you need to work with this evolved and aggressively simple language. No matter what programming language you currently favor, you'll quickly see that 21st century C rocks.

  • Set up a C programming environment with shell facilities, makefiles, text editors, debuggers, and memory checkers
  • Use Autotools, C's de facto cross-platform package manager
  • Learn about the problematic C concepts too useful to discard
  • Solve C's string-building problems with C-standard functions
  • Use modern syntactic features for functions that take structured inputs
  • Build high-level, object-based libraries and programs
  • Perform advanced math, talk to internet servers, and run databases with existing C libraries

    This edition also includes new material on concurrent threads, virtual tables, C99 numeric types, and other features.

Popular paperback recommendations of the month
Browse through our selection of popular books from different genres, such as crime fiction, thrillers, historical novels or romance novels Browse here
Safety and product resources
Images and contacts

Safety and product resources

Images and contacts

Product description

About the Author

Ben Klemens has been doing statistical analysis and computationally-intensive modeling of populations ever since getting his PhD in Social Sciences from Caltech. He is of the opinion that writing code should be fun, and has had a grand time writing analyses and models (mostly in C) for the Brookings Institution, the World Bank, National Institute of Mental Health, et al. As a Nonresident Fellow at Brookings and with the Free Software Foundation, he has done work on ensuring that creative authors retain the right to use the software they write. He currently works for the United States FederalGovernment.

Product details

  • ASIN ‏ : ‎ 1491903899
  • Publisher ‏ : ‎ O'Reilly Media; 2nd ed. edition (11 Nov. 2014)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 406 pages
  • ISBN-10 ‏ : ‎ 9781491903896
  • ISBN-13 ‏ : ‎ 978-1491903896
  • Dimensions ‏ : ‎ 18.3 x 2.23 x 23.4 cm
  • Customer reviews:
    4.4 4.4 out of 5 stars 97 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Ben Klemens
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read book recommendations and more.

Customer reviews

4.4 out of 5 stars
97 global ratings

Top reviews from Germany

Reviewed in Germany on 16 August 2017
auf amazon.com hat es 4.5 Sterne bei 24 Bewertungen...
im Stil (informell, leger, entspannt) von Scott Meyers C++ Serie findet man Gründe warum man C nicht mit dem uralten Stil von K&R benutzen muss.
Es hat nur 250 Seiten Inhalt, kann keine Referzen-Bibel sein. Und im preface (auf amazon.com) und am Inhaltsverzeichnis erfährt man ob das für einen geeignet ist.

Der Auto ist Statisiker (2015: US treasury for ~tax revenue prediction ) und hat viele R Funktionen nach C ausgelagert bis er auf R ganz verzichtet hat (preface page x). Sein anderes Buch Beschäftigt sich mehr damit "Modeling with Data: Tools and Techniques for Scientific Computing by Ben Klemens".

fyi bei youtube die ersten 4min ansehen: "Professor Brian Kernighan presents on 'How to succeed in language design without really trying".
Bin da auch seiner Meinung =)
One person found this helpful
Report
Reviewed in Germany on 22 January 2017
This book is an excellent companion to the book from John Fusco: "the linux programmer toolbox". It helps developers to get acquainted with the ins and outs of the unix world. It is also the first book which was for me able to explain what POSIX actually is.
One person found this helpful
Report
Reviewed in Germany on 22 January 2016
Das Buch war eine glatte Enttäuschung. Von O'Reilly hätte ich sowas nicht erwartet (ich hab für weit über 1000 € Bücher von denen).
Gut, dass mich einige Kapitel (die erste Hälfte) nicht interessieren ist mein Problem. Allerdings fehlt in der Vorstellung der Werkzeuge Lint. Würde der Autor das kennen, könnte er dem Leser einge obskure "Tips" sparen.
Was der Autor an case statement auszusetzen hat, wird der Rest der Welt nicht verstehen. Ausser Teilnehmer am International Obfuscated C Code Contest (...).
Oder die Bemerkung, dass es ja nicht so schlimm ist, Speicher nach einem malloc nicht mehr frei zu geben. Ist ja genug RAM da. Die Einstellung demonstriert er auch in einem Beispiel, bei dem in einer Fehlerbehandlung den voreilig allokierten Speicher nicht freigibt.
Um meine Nerven zu schonen, hab ich es vorgezogen nicht weiter zu lesen.
Dass er Autor herablassend über andere Bücher spricht (z.B. "No more bugs") belegt meiner Meinung nach nur, dass ihm **einige** Einblicke fehlen.

Übrigens: Ich programmiere seit 1976
27 people found this helpful
Report
Reviewed in Germany on 16 May 2021
Ich war einer der ersten C-Programmierer in Österreich. Ich möchte nun für den AVR-8Bit Prozessor einen kleinen, aber feinen Emulator schreiben und gleichzeitig meine etwas eingerosteten C-Kenntnisse auffrischen.
Dieses Buch war ein absoluter Fehlgriff. Der Autor ist ein exzentrischer Schwätzer. Laut Homepage "A Computional Social Scientist". Was immer das ist. Kernighan&Ritchie und andere Bücher tut er mit den Worten "Those textbooks are still valid and still have value, but modern C code just doesn't look like in those textbooks". Meinen Respekt hat der Autor bereits in der Einleitung verspielt: "I don't care to compare the code in this book to the original C specification in K&R book. My telephone has 512 MB, so why are our C textbooks still spending pages upon pages covering techniques to shave KB of our executables? I am writing this on a bottom-of-the-line red netbook that can accommodate 3,200,000,000 instructions per second; what do I care about whether an operation requires comparing 8 bits or 16?"
Abgesehen davon, dass K&R sehr wohl die Wichtigkeit von klaren Kode betonen: Performance ist heute genauso wichtig wie vor 40 Jahren. Es sind ja auch die Anforderungen mitgewachsen. Mein Simulator soll aus gutem Grund so effektiv wie möglich sein (sonst hätte ich ihn in Go oder C# geschrieben).
Im ersten Teil des Buches geht es gar nicht um C. Der Autor erklärt uns zurückgebliebenen Deppen, dass wir Git verwenden sollen. Keine Ahnung was das mit dem Thema zu tun hat.
Im zweiten Teil geht es angeblich um C. Aber nie in einem strukturierten Art und Weise. Es gibt kaum Kode. Der Autor schwafelt lieber über Punk-Rock. Ich habe den Eindruck, er hat sich einfach zu viel zugedröhnt.
Eine nützliche Information fand ich im Buch dennoch: Die Referenz auf das altmodische "C in a Nutshell" Buch. Uncool, kein Punk, kein Funk. Aber dafür gründlich und kompetent gemacht.
Die guten Bewertungen zu diesem Buch sind mir ein absolutes Rätsel.
6 people found this helpful
Report

Top reviews from other countries

S. Rivera
2.0 out of 5 stars Good Book. Terrible shape, Not new.
Reviewed in Mexico on 26 May 2021
The book itself I really like.

The low rating is due to recieving the book in a very poor state. It came with the cover dirty, damaged and a lot of bent pages.

I would return it, but I don't want to waste a good book.
Patrick Mcmorris
5.0 out of 5 stars Great book to be productive quickly
Reviewed in Canada on 7 May 2019
I think this book delivers on all of the promises on the back cover. Even as someone who primarily uses C++ every day, this book helped me sharpen my C skills and rediscover a simpler world where more time and attention can go to the problem at hand than lost to idiosyncrasies of C++. If you want to step into the world of high performance programming and don't want to dedicate years of your life (and significant real estate in your brain) to mastering C++, then this book is for you.
J. Chidley
5.0 out of 5 stars Learn to code in up-to-date C and be treated like a professional
Reviewed in the United Kingdom on 1 June 2017
This is a preliminary review to ameliorate the existing, totally undeserved, rating on amazon.co.uk for the kindle version.

I wanted a book to support learning modern C, as most of the other books are either dated or lightweight (I am no dummy; I am an IT - non coding - professional). One of the early pains for me is knowing the most effective way to set up the environment. This book certainly helps with that.

My motivation for learning C is primary to code embedded systems. A side-benefit is that C can be used almost anywhere to underpin other high level languages. C provides the necessary middleware between the operating system/hardware and these high level languages. For instance, I use F#. When I want to accesses the hardware on a Raspberry Pi, say using Wiring Pi, I have to interface with C bindings.
Unknown
5.0 out of 5 stars Wow, C11 with examples, insight and a roadmap.
Reviewed in the United States on 28 April 2016
This is the first book I am aware of that actually teaches you how to use the C Language. Five Stars.

Audience: intermediate to advanced C programmers. The book does have a beginner C Tutorial in the Appendix.

[GRIPE] Personally I did not care for the overly informal tone and punk rock quotes. Explanations tend to be long and colourful. This book is the inverse of formal and terse[/GRIPE] Whatever dude, Right? lol. I would also say that the coding style varies, wildly and the Kindle version is nasty; Also: Ben should know better than to make sport of anyone's religion or deity.

Other than that, this book is quite possibly the most important book every written about C since K&R(ANSI), with the interesting twist that they are in fact quite different in scope and goal. K&R is really an English version of the ANSI standard with tutorial and example material for learning the structure of the language. K&R assumes you know the CS already and teaches the language grammar with classic CS examples.

21st Century C assumes you know the C Grammar and CS already and teaches how to build solutions with the C language using the improvements of TWO! updates to the C Language standard since K&R(ANSI(C89)).

This is C11 - GNU gcc supports everything that anyone is taking seriously - Right Now! Things like functions with default parameters and variadic macros for variable length functions replacing the infamous va_args system.

Chapters 1 through 5 walk you through setting up a development environment on a UNIX/BSD/Linux type system using standard tools and libraries that provide you with more functionality than the much touted "high level" languages and all of their functionality. He does this step by step in a very practical manner from beginning to end so that you are set-up to work through the rest of the book.

Of course, he could have used combinations of several different libraries and built many completely different development environments specialized for all kinds of different problem domains (C as an ad-hoc DSL)

With C you could choose a different set of tools with better performance, domain optimization, or other advantages -- and still be using the same language OR you could mix and match. Remember, the language is tiny, when you change libraries they make all the difference... C is powerful for the very reason that is small and simple. Ben really drives this point home and gives examples of C vs. R (a statistics DSL) with the C code being both easy to understand and much faster. Faster matters MORE now than ever because the fundamental principles of Turing machines are fixed in cold hard reality but our data sets continue to increase in size and complexity. Faster Code Matters.

Chapter 6 goes into depth about pointers for those that struggle with fundamental operations on Z and indirection. It also mentions other storage types and how to avoid using dynamic memory at all in many cases.

Chapter 7 & 8 cover the mechanical issues of language syntax both good and bad.

Chapter 9 covers string handling, it starts with asprintf() and meanders through string stuff. In all fairness, what Ben is trying to do would fill an entire book on its own. My advice: use the sds library by Salvatore Sanfilippo (antirez(redis)) on github

Chapter 10 is about structs, this is the best part of the book for me, goes in depth on many improvements and extensions. Includes an example of a foreach function on a compound literal. Worth the price of the book...

Chapter 11 Goes into depth about using OOP methodology in C. Though C is not an OOP language the ancient K&R C was good enough to create cfront, so OOP in C has always been a reality, what C lacks is the "syntactic-sugar" of C++. Again, the neat thing about C (and C++) is that you can pick and choose features without being forced into a pradigm by someone else.

Chapter 12 is parallel programming and covers both threading (pthreads) and processing (OpenMP) and adds in C11 atoms covering the stdatomic.h and threads.h in the standard library

Chapter 13 Libraries for programming with the C language. This section gives examples with Glib, GSL (GNU Scientific (math) Library), SQLite (The single file include SQL DB), libxml and cURL.

goto github /b-k/21st-Century-Examples for a forkable repo of all of this book's numerous examples.
You should also check out: /dale48/levawc for a large library of ADTs in C,
and /antirez/sds for the Simple Dynamic Strings library.
T. Bitsky
5.0 out of 5 stars Excellent and Practical
Reviewed in the United States on 11 April 2022
This is the best reference I've read on using C in the modern day and taking advantage of C's latest features. It's also one of the best books on C that I've read.

Highlights: It does a great job demonstrating implementing OOP concepts in C. A solid chapter on concurrency. Tips for needing to malloc/free memory less, and a better approach when needed. The Better Structures and Object-Oriented Programming in C were the stand-out chapters in the book.

When the book was written, MSVC wasn't supporting C11. That has changed recently, which means the concepts in this book work whether you're using a POSIX toolchain or Microsoft Visual Studio.

If you don't already know C, I don't think this is the first book you read. Get The C Programming Language from K&R, spend a couple weeks learning the most basic concepts, then move on to this book to learn how to actually use and build software with C which K&R won't teach you.