

Buy anything from 5,000+ international stores. One checkout price. No surprise fees. Join 2M+ shoppers on Desertcart.
Desertcart purchases this item on your behalf and handles shipping, customs, and support to British Virgin Islands.
Every programmer and software project manager must master the art of creating reusable software modules; they are the building blocks of large, reliable applications. Unlike some modern object-oriented languages, C provides little linguistic support or motivation for creating reusable application programming interfaces (APIs). While most C programmers use APIs and the libraries that implement them in almost every application they write, relatively few programmers create and disseminate new, widely applicable APIs. C Interfaces and Implementations shows how to create reusable APIs using interface-based design, a language-independent methodology that separates interfaces from their implementations. This methodology is explained by example. The author describes in detail 24 interfaces and their implementations, providing the reader with a thorough understanding of this design approach. Features of C Interfaces and Implementations: *Concise interface descriptions that comprise a reference manual for programmers interested in using the interfaces.* A guided tour of the code that implements each chapter's interface tp help those modifying or extending an interface or designing related interfaces. *In-depth focus on "algorithm engineering:" how to package data structures and related algorithms into reusable modules. *Source code for 24 APIs and 8 sample applications is examined, with each presented as a "literate program" in which a thorough explanation is interleaved with the source code. *Rarely documented C programming tricks-of-the-trade. *Convenient access to all source code in the book via the World Wide Web at http://www.cs.princeton.edu/software/cii/ 0201498413B04062001 Review: Made me a better C programmer. - Excellent book. Clearly written, well structured and typeset. Each chapter has a very good section on recommended further reading. Makes for an excellent reference. Review: Top book - If C is your bag and you want to create solid interfaces then this book is for you. This book made me change my style of C coding after reading. Some great example code and extremely well written






























| Best Sellers Rank | 314,454 in Books ( See Top 100 in Books ) 203 in Programming Languages & Tools 404 in Introduction to Programming |
| Customer Reviews | 4.2 out of 5 stars 49 Reviews |
K**N
Made me a better C programmer.
Excellent book. Clearly written, well structured and typeset. Each chapter has a very good section on recommended further reading. Makes for an excellent reference.
D**P
Top book
If C is your bag and you want to create solid interfaces then this book is for you. This book made me change my style of C coding after reading. Some great example code and extremely well written
P**Z
Este libro hay que aprendรฉrselo de memoria...
El contenido me parece buenรญsimo, para estudiar a fondo. La copia del libro que me llegรณ no es รณptima, porque las pรกgina estan un poco onduladas, pero merece 5 estrellas igualmente.
F**S
The best C programming book I have EVER seen, hands down.
I don't normally leave reviews, but I cannot believe how good this book really is. I'm a power C++20 developer who recently has become fascinated with cross-language interoperability and as such have sought to build my own C runtime framework and utility library from scratch (libGimbal), influenced by GLib's GObject and Microsoft COM. I've personally implemented my own C17-based versions of C++'s containers, standard algorithms, multiple types of custom strings, custom allocators, and a meta type system providing uniform object representation across languages. I cannot believe the fact that this book is an almost complete, beautifully architected collection of what amounts to a general-purpose C framework and set of standard containers and algorithms, similar to C++'s STL. If you were to release the examples in the book as a framework, you'd have something similar to GNOME's GLib, which powers all of GTk and the GNOME stack. Is this book still relevant today? 100% absolutely. It's timeless. It should be a must-have for any C programmer--especially with the breadth of subjects it covers. There is pretty much something in here for every type of developer at every skill level. Even for a C++ developer, you can still learn a lot and "C++-itize" a lot of these data structures and concepts. His programming style is concise, easy to read, and unlike most C texts, is not an bunch of small, abstract, academic snippets. These are production-ready and useful in the real world. Also unlike a lot of the esteemed C classic texts, even though the book was written in '97, this feels like how modern C is written today. I only wish I had found this book sooner. I cannot recommend it enough.
F**Z
An embedded developer point of view
A very good book also for the embedded field; you can't use much of the code in small 8bit microcontroller environments, but if you work with bigger 16/32bit microcontrollers many of the abstract data types (ADTs) described here can be useful. Maybe the "threads" interface can even be used as a base to develop a tiny cooperative embedded OS, too. The title of the book is not exactly true: this is not a generic text on "C interfaces an implementation", it's a complete and detailed documentation of a well-projected C user level generic library, implementing a lot of ADTs that are not available in the C standard library but are available in many other high(er?) level languages. You may like or not the semantic details and coding style, probably depending on your background: unix/linux programmers may not like it, as they may not like the ADTs prefix-verbosity... It's a way to add modularity to a not-object-oriented language as C is; the same for the "typedef struct T *T" (opaque pointers) in headers: modularity and encapsulation. Pseudocode notation (literate programming) is clear, as long as you read chapter 1.
A**R
Good starting place for writing your own C utility library or new API
This book has implementations for lots of C interfaces, and uses the literate programming style. Literate programming looks strange at first, but it is very easy to learn to read it. Once you get past that, this book is a swiss army knife of utilities that some of us have implemented from scratch a dozen times. This time someone took a lot of care and effort to implement small little libraries that have a big impact. If you're not interested in the implementation in the book, that's fine. I think the APIs presented can inspire people to design better software interfaces. And the concise style is something that we should all work harder to imitate. Most functions are only a half page of text in the book. And the literate programming means those functions are cross referenced and easy for the reader to find. Really just a joy to read.
B**O
The Kindle Version is Quite Bad
Whatever method they used to create the ebook resulted in the ISBN and related content being repeated constantly throughout the pages which is incredibly annoying. Even if you get over that, the code formatting is completely broken. This is a shame and an effort should really be made to either fix this or stop selling it as an ebook.
Trustpilot
3 days ago
3 weeks ago