Search

Table of Contents
C Interfaces and Implementations: Techniques for Creating Reusable Software
BOOK:
C Interfaces and Implementations: Techniques for Creating Reusable Software

Go to Page:  of 503

Browse by Category
 
 
Hide Left Column
C Interfaces and Implementations: Techniques for Creating Reusable Software - Graphically Rich Book
C Interfaces and Implementations: Techniques for Creating Reusable Software
by David R. Hanson - Princeton University

Publisher: Addison-Wesley Professional
Pub Date: August 20, 1996
Print ISBN-10: 0-201-49841-3
Print ISBN-13: 978-0-201-49841-7
Web ISBN-10: 0-321-56280-1
Web ISBN-13: 978-0-321-56280-7
Pages: 544
Slots: 1.0
Start Reading
Buy Print Version
Overview

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/

 
Editorial Reviews
Product Description
C Interfaces and Implementations describes how to use interface-based design in the C programming language, and it illustrates this approach by describing 24 interfaces and their implementations in detail. The source code in the book is interleaved with its explanation in an order that best suits understanding the code.
 
Reader Reviews From Amazon (Ranked by 'Helpfulness')
Average Customer Rating:based on 12 reviews.
Excellent, useful, timeless, 2009-05-07
Reviewer rating:
I second the many positive reviews about this book. If you architect and/or make software for a living, this book will give you a life long of useful ideas and provide with real running and working generic solutions. Foremost I was personally stunned by the implementation of the exception handler emulator, which I adopted ever since. Now I can look back at it's respectable 12 years of service with exemplary low "bug rate" and hundreds of millions in revenue gathered from products using this style of coding.

One issue was not mentioned by the most of other reviewers: This book is one of the now rare examples of "Literate Programming," a term coined by Donald Knuth, who implemented the "web system" with two programs Tangle and Weave. From the same source the one program generates code for a compiler, the other generates a book text for a text processing system. This way code and the literature about it are in perfect sync. Most importantly, the code showed in the book is a real tested and running implementation, not a mere pseudo code used by others so often, which may or may not be correct. See section 1.1 for a description of the system and typographical convention used by Prof. Hanson in his book.

For me this book is a classic. Timeless, even now 12 years since its date of release it is highly recommended for every practitioner at any level.
Great book, just don't buy it through Amazon., 2007-04-30
Reviewer rating:
I purchased this book through Amazon on October 16 2006 11:05 PDT. I finally killed the order this morning because they still can't seem to get it in stock.

Don't get me wrong, this is a great book with many good examples. However, if you want it this century, go check your local computer bookstore because most online retailers are out of stock (including Addison-Wesley themselves).



too specific, 2006-07-31
Reviewer rating:
I felt there were too many specific examples. I was hoping for more theory about HOW to make your code reusable. It seemed he talked as much about writing an efficient algorithm as he did about reusability. I expected a bit more theory on what causes well-intentioned code to end up getting rewritten because it cannot be reused. I also did not really understand his pseudocode notations. I'm not faulting him on that, just making a statement.
Simply Brilliant ..., 2005-12-03
Reviewer rating:
I borrowed this book from the company library and now proudly own a copy of my own. Designing large modules of C code isn't a very easy task and the author does a commendable job at instilling a strong sense of OO design in C Code. This book stands at the top of my heap of programming/design books and I would consider it a must read for anyone serious about learning C and Software Design. Yes, do work through an introductory text on C before you get to this. And then dive into the fun ...
Good Contents Horrible Organization and Code Style, 2005-09-27
Reviewer rating:
The contents and the theory is really interesting,but IMHO literate programming is Horrible and Confusing and with it you really suffer to follow and understand the code.Also the style is really Horrible,something like that of Microsoft,with all those useless macros used just for being lazy.If you compare the style of the code(the way to present it on the book and the code's style itself) used on this book and that used on the book "Linux Kernel Development" by Robert Love,you could find yourself busy deciding where to expose the latter on your own house to multiply the house's value and where to throw the first just to have no nightmares!(I know that they are 2 completely different books,but here I'm talking only about the style,not the contents)
 
Some information above was provided using data from Amazon.com. View at Amazon >
C Interfaces and Implementations: Techniques for Creating Reusable Software - Graphically Rich Book
C Interfaces and Implementations: Techniques for Creating Reusable Software
by David R. Hanson - Princeton University

Publisher: Addison-Wesley Professional
Pub Date: August 20, 1996
Print ISBN-10: 0-201-49841-3
Print ISBN-13: 978-0-201-49841-7
Web ISBN-10: 0-321-56280-1
Web ISBN-13: 978-0-321-56280-7
Pages: 544
Slots: 1.0
Start Reading
Buy Print Version
Company | Terms of Service | Privacy Policy | Contact Us | Help | 508 Compliance | Subscribe Now
© 2009 Safari Books Online. All rights reserved.