C interfaces and implementations: techniques for creating reusable software

  • Authors:
  • David R. Hanson

  • Affiliations:
  • Princeton Univ., Princeton, NJ

  • Venue:
  • C interfaces and implementations: techniques for creating reusable software
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

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/