

Buy 21st Century C 2nd ed. by Klemens, Ben (ISBN: 9781491903896) from desertcart's Book Store. Everyday low prices and free delivery on eligible orders. Review: Learn to code in up-to-date C and be treated like a professional - This is a preliminary review to ameliorate the existing, totally undeserved, rating on desertcart.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. Review: Good if you already know C - it helps you write cleaner and more maintainable code. Recommended. - Good if you already know C - it helps you write cleaner and more maintainable code. Recommended.


















| ASIN | 1491903899 |
| Best Sellers Rank | 1,064,491 in Books ( See Top 100 in Books ) 1,456 in Introduction to Programming 2,564 in Software Design & Development 2,581 in Computing & Internet for Professionals |
| Customer reviews | 4.4 4.4 out of 5 stars (104) |
| Dimensions | 17.78 x 2.34 x 23.34 cm |
| Edition | 2nd ed. |
| ISBN-10 | 9781491903896 |
| ISBN-13 | 978-1491903896 |
| Item weight | 653 g |
| Language | English |
| Print length | 406 pages |
| Publication date | 10 Oct. 2014 |
| Publisher | O′Reilly |
J**Y
Learn to code in up-to-date C and be treated like a professional
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.
M**R
Good if you already know C - it helps you write cleaner and more maintainable code. Recommended.
Good if you already know C - it helps you write cleaner and more maintainable code. Recommended.
D**R
I am requesting a refund.
I do not agree with the 1 star review - C is not dead. I do not agree with the 5-star reviews - this is not a good book. I learnt C 25 years ago, and am still using ANSI C. I thought this book would teach me tricks from the 99 or 2011 standards, but is to mainly an overview of vaguely useful tools (git / editors / makefiles). There is not even a mention for Variable Length Arrays in the index. The coverage of OpenMP is less than 2 pages - which is nowhere near enough to even explain the difference between shared and private variables - never mind the problems with synchronisation. Overall, a very misleading title.
S**E
Talk nerdy to me.
Just reading the first three chapters is enough to reveal the whole premise of the book is false - C is not fit for the 21st Century, it's a nasty dinosaur that needs putting out of its misery.
S**A
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.
U**N
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.
P**S
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.
T**Y
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.
R**H
Nice book to upgrade your c skills
ترست بايلوت
منذ شهر
منذ أسبوعين