21st Century C
C Tips from the New School
Publisher: O'Reilly Media
Released: October 2012
Pages: 296

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 dump old habits that made sense on mainframes, and pick up the tools you need to use this evolved and aggressively simple language. No matter what programming language you currently champion, you’ll agree that 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 which older C concepts should be downplayed or deprecated
  • Explore problematic C concepts that are too useful to throw out
  • Solve C’s string-building problems with C-standard and POSIX-standard functions
  • Use modern syntactic features for functions that take structured inputs
  • Build high-level object-based libraries and programs
  • Apply existing C libraries for doing advanced math, talking to Internet servers, and running databases
Table of Contents
Product Details
About the Author
Colophon
Recommended for You
Customer Reviews

REVIEW SNAPSHOT®

by PowerReviews
oreilly21st Century C
 
3.3

(based on 13 reviews)

Ratings Distribution

  • 5 Stars

     

    (3)

  • 4 Stars

     

    (4)

  • 3 Stars

     

    (2)

  • 2 Stars

     

    (2)

  • 1 Stars

     

    (2)

62%

of respondents would recommend this to a friend.

Pros

  • Easy to understand (10)
  • Helpful examples (10)
  • Concise (4)
  • Well-written (4)
  • Accurate (3)

Cons

  • Not comprehensive enough (7)
  • Too basic (3)
  • Too many errors (3)

Best Uses

  • Intermediate (10)
  • Student (7)
  • Novice (6)
    • Reviewer Profile:
    • Developer (13)

Reviewed by 13 customers

Sort by

Displaying reviews 1-10

Back to top

Previous | Next »

(3 of 4 customers found this review helpful)

 
2.0

i had hoped to learn a bit more

By sgbeal

from Munich, Germany

About Me Developer

Verified Reviewer

Pros

  • Helpful examples

Cons

  • Not comprehensive enough
  • Too basic

Best Uses

  • Intermediate
  • Novice
  • Student

Comments about oreilly 21st Century C:

First the bad:

- Too short. The first quarter of the book tells us how to install gdb and GNU make. i.e. it gets skipped because anyone who's serious about up-leveling their C skills doesn't need to be told how to write a Makefile rule (or the equivalent for his platform of choice). The content ends at the 80% marker (e-book reader), with the rest being the index and list of terms. That leaves 55 percent of the book as actual C-centric content.

- What's there, with just a few exceptions, seemed me to be just be an introduction to a handful of C99/C11 features (which the author is apparently totally enthralled with but which i happen to get by without just fine) and a brief introduction to some 3rd-party libraries. (The author uses glib throughout for most examples, but knowing glib isn't necessary for following along.)

The good:

- i picked up a small C99 trick or two (his N-ary free() macro is interesting), but it's nothing i'll use in day-to-day code because my portability targets call for C89.

Summary: i could recommend this for someone with only a year or so of C experience, but not to someone who's already got considerable skill with the language, using it daily. Younglings will find much of the material new, but experienced/practicing C coders will likely not.

 
4.0

This book will help improve your pedigre

By Andrew

from Johannesburg, South Africa

About Me Developer, Sys Admin

Verified Reviewer

Pros

  • Concise
  • Easy to understand
  • Helpful examples

Cons

  • Not for beginners

Best Uses

  • Expert
  • Intermediate

Comments about oreilly 21st Century C:

This intermediate level book provides guidance on new methods of coding in C as well as identifying the common pitfalls and providing workarounds to them.

The book is split into two sections on dealing with the ecosystem around C development and the second the language itself.

This is not a teach you how to write in C book, users are expected to have a grasp of the language prior to starting out with this book.

The first section covers the development enviroment, issues such as building as well as linking and packaging of software for wide distribution.

Also covered is version control in a short chapter, this is one of the very well written parts of the book, the explanation of the Git version management system in this short chapter puts to shame some of the larger dedicated books on the market.

 
5.0

Rock'n'roll

By Encode_

from Värmland, Sweden

About Me Developer

Verified Reviewer

Pros

  • Easy to understand
  • Helpful examples
  • Well-written

Cons

    Best Uses

    • Intermediate

    Comments about oreilly 21st Century C:

    This book is very different from the other ones I've read from O'Reilly - in the good way. The concept is really cool, and there's alot of unorthodox things like a whole lot of pages dedicated to just tools.

    I'm also happy that the author some past in writing R and using C mainly for scientific applications and just like me is very familiar with Python.

    Overall there's just so much personality to this book, it's just plain rock'n'roll.

     
    4.0

    A decent collection of real-life C tips.

    By Piotrek

    from Andover, NJ

    About Me Developer

    Pros

    • Accurate
    • Easy to understand
    • Helpful examples

    Cons

    • Not comprehensive enough

    Best Uses

    • Intermediate
    • Novice
    • Student

    Comments about oreilly 21st Century C:

    This book is exactly what it says it is: A collection of tips to be used with the C language in the 21st century. This means that if you're looking for a detailed explanation of the language, this book is not for you.

    The author presents the material in a pleasant fashion - generally easy to read with decent explanations of code examples.

    The good:
    - The author shows the reader how to use the most common/useful tools to compile and debug programs.
    - The author shows the reader the basics of using third-party (open-source) libraries (while pushing the reader to review the library documentation online -- KUDOS!)

    The bad [1]:
    - Too much "macro-magic." Presented macros seem to take away from the 'flow' of the book.

    Overall, I think the book is worth a read. If nothing else, the reader will get a gentle refresher on how C has evolved over the years and how it is being used today.

    Recommended.

    [1]: This is highly subjective -- others might find to the contrary.

    (1 of 1 customers found this review helpful)

     
    4.0

    A breadth first view on C

    By Asian Tango

    from Santa Rosa, CA

    About Me Developer

    Verified Reviewer

    Pros

    • Accurate
    • Concise
    • Easy to understand
    • Well-written

    Cons

    • Not comprehensive enough

    Best Uses

    • Intermediate
    • Student

    Comments about oreilly 21st Century C:

    This is a wide view on C. Rather than going in depth with the language, he dives into the tools that can be used to support C and then jumps into the language itself. As others have mentioned, it gives brief introductions into other useful tools that one doesn't usually focus on when using a language. Some chapters such as version control applies to all languages in general whereas the chapter on complication might not.

    For those that have used mainly C++, this can be a useful book, especially when you've learned it from a classroom environment. The tips can be very useful and in many cases can apply to C++. For those who might want to learn C, this might be a good book to start with. However, I would suggest using another book to learn the syntax and language or a primer. I think this book is best for those are experienced with C/C++ but unaware of the tools and neat tricks that usually aren't seen in text books and the like.

    (2 of 4 customers found this review helpful)

     
    3.0

    21st Century C

    By DDD

    from Cambridge

    About Me Developer

    Verified Reviewer

    Pros

    • Easy to understand
    • Helpful examples

    Cons

    • Too many errors

    Best Uses

    • Intermediate
    • Novice
    • Student

    Comments about oreilly 21st Century C:

    In few words this book is a collection of brief introductions of all the aspects regarding programming in C using methods and tools gained probably from the author experience with open or closed source projects. First, this is not a book about C programming language. It is a book for people who start to program in C and want to learn how to start using it in a proper and efficient way to create something more than programming exercises. The main idea that the author want to tell is that C is not only a system level programming language and can be used for other general purpose applications. The book is splitted in 2 main parts: the former talks about setting a C environment that automates most of the tasks as compiling, documenting, testing, releasing, source control and process flow. The latter is about tips of the C language that can be usefull to speed up the work.

    The first part is the more detailed and covers most of the aspects of compiling C programs

    - Chapter 1: Set yourself for compilation
    - Chapter 2: Debug, test, Document
    - Chapter 3: Packaging your project
    - Chapter 4: Version Control
    - Chapter 5: Playing nice with others

    Those chapter titles explain most of the content of this first part of the book. They try to guide the reader to have a functional environment that covers all the
    steps of the software development.

    The tools briefly descripted in this chapter are:

    - compilers for different OSes.
    - GDB for debugging
    - Valgrind for memory problems checking
    - Doxygen and CWEB for automated documentation
    - Shell, make and Autotools for automatic and easy compiling
    - Git for source control
    - Tips for write understandable and clean code

    The second part of the book is about bits and pieces of the C language:

    - Chapter 6: Your Pal pointer
    - Chapter 7: C syntax you can ignore
    - Chapter 8: Obstacles and opportunities
    - Chapter 9: Text
    - Chapter 10: Better structures
    - Chapter 11: Object-oriented C
    - Chapter 12: Libraries

    This chapter contains mostly some tips about pointers, string, sintax and data-structure management. It covers some high-level stuff like databases and network connection but really briefly.

    In my opinion the author tries to explaino too many things in one single book. He wants to give to C more visibility to the Application Engineers that typically use high abstraction. At the same time he wants to give guidelines about the environment and give hint on some pieces of the language. Except for the first part that covers enough the argument proposed in the chapter title, the second part seems to be a collection of blog tips glued together chosing within the most strange aspects and missing of C. I think as a programmer but even more as bad DIY mechanic that the tool is the most important part of the job. It's fine to use C if you really need to use the performance and the feature it only has, if you don't need those simply don't use it. Java, C#, Python and so on are more easy to use for some applications and should be used instead. Probably application engineers can benefit from this book to have some idea or have a start with C. Newstarters in C and programming can found it useful but they will need to integrate with other resources all the brief description given for some tools (I suggest to read Pragmatic Programmer)

    (1 of 5 customers found this review helpful)

     
    1.0

    Too many topics, too shallow

    By Pavel

    from Malaysia

    About Me Developer

    Pros

      Cons

      • Not comprehensive enough
      • Too basic

      Best Uses

        Comments about oreilly 21st Century C:

        The book mentions a lot of different topics, but doesn't really provides anything useful on any of them. I don't see how it may be interesting if you already know C, because it is too basic, and I don't think it may help to those who trying to learn C because it is poorly structured.

        (3 of 3 customers found this review helpful)

         
        5.0

        Excellent and refreshing book

        By gox

        from swiss

        About Me Developer, Sys Admin

        Verified Reviewer

        Pros

        • Accurate
        • Concise
        • Easy to understand
        • Helpful examples
        • Well-written

        Cons

          Best Uses

          • Expert
          • Intermediate
          • Novice

          Comments about oreilly 21st Century C:

          I am an experienced developer granted not working with C on daily basis. I have started to come back to the language I learned first for personal projects and after years of experience and frustration with numerous others.. C is still relevant ;).

          This book has a very refreshing outlook on C it is right on the point in many aspects, for the language and its importance as well its standing and relation to other more dominant/used or advertised languages. C is truly as elegant and interesting as any other language and the fact that it is being treated as too hard, impossible to work with due to memory issues (pointers etc.) and not to look at unless. Well all of that makes it even more interesting to me and this book helps, I agree choosing C is punk rock ;).

          The book includes really good advice on a number of topics which are important and essential for C development. Please, note that it will not teach you C grammar etc., but it is a guide on how to make your C development life easier and closer to what you might be used with other language. There are a number of examples on compilation, environment set up, multilanguage support, dealing with the things people consider hard like pointers and memory (who knew C has automatic memory, I guess those that read the standard...), etc. etc.. It is not a full reference guide on any of this topics but with the sense of humor and just right amount of pointers (pun intended) it provides it is an excellent quick starter on the right path.

          Highly recommended complement to a library that should contain at least a few other C books.

          (1 of 9 customers found this review helpful)

           
          1.0

          Promissor title, to many errors

          By jvrmaia

          from Vila Velha, ES - Brazil

          About Me Developer

          Verified Reviewer

          Pros

            Cons

            • Not comprehensive enough
            • Too many errors

            Best Uses

            • Intermediate

            Comments about oreilly 21st Century C:

            Bad environment to test codes.
            Bad content design, difficult path to understand!
            Too many errors.

            (2 of 3 customers found this review helpful)

             
            4.0

            Broad but shallow content

            By hu

            from Boston, MA

            About Me Developer

            Verified Reviewer

            Pros

            • Easy to understand
            • Helpful examples

            Cons

            • Not comprehensive enough

            Best Uses

            • Intermediate

            Comments about oreilly 21st Century C:

            The content includes broad topics of C89, C99, C11, POSIX standerdized API
            and readers can effectively find something interesting and entry points for further programming skills.
            However, because a lot of topics are treated, each topic is shallow.

            Though the title of this book provides readers an impression they can become modern programmers,
            beginners for C programming should not start from this book because almost of the topic
            is intermediate or upper level. Without having basic programming knowledge for C and understanding
            difficulty points with basic C programming, readers can't understand the value of
            the described technics and why C11 integrated new syntax described here and what matters
            were resovled by technics the author introduced.

            A topic related to macro is interesting for me because it made me reconsider the benefit of macro.
            For examples, how to bring foreach syntax into C programming and so forth.

            Displaying reviews 1-10

            Back to top

            Previous | Next »

             
            Buy 2 Get 1 Free Free Shipping Guarantee
            Buying Options
            Immediate Access - Go Digital what's this?
            Ebook: $24.99
            Formats:  DAISY, ePub, Mobi, PDF
            Print & Ebook: $32.99
            Print: $29.99

            Available in Multiple Languages