Topic: function library

topics > computer science > programming > Group: program representation

information retrieval

builtin functions
object-oriented packages
programming with a database of modules
reusable programming
software components
software portability


Libraries are generally fixed collections of useful program modules. Older programming systems tend to have large libraries of mathematical routines, statistical procedures, string manipulation functions, and input/output options. These libraries are heavily used. Occasionally a library will define common data or class descriptions which are included with program text during compilation. Libraries can be highly interdependent and difficult to change. (cbb 5/80 1/93)
Subtopic: importance of libraries up

Quote: it is worth-while to spend much effort on the establishment of a subroutine library and a system for combining subroutines into a program
Quote: a programming system should use a library of subroutines as its base [»wilkMV_1985]
Quote: build applications from a library of building blocks
Quote: create a library of useful subroutines; a calculus of instructions [»maucJW1_1947]

Subtopic: library as publication up

Quote: for each subroutine, EDSAC's library catalog gave a concise specification, operating time, storage space, and the orders in full [»wilkMV_1951]
Quote: an Emacs library is a publication medium for users to share their extensions without interference

Subtopic: library as ease of use up

Quote: a library simplifies programming; subroutines may be used directly, without detailed coding [»wheeDJ6_1949]
Quote: creating new notations for programming is practical only if it is easy to add the necessary library packages [»holtAW5_1958, OK]
Quote: use subroutines to reduce the labor of writing a program; i.e., short, ready-made programs
Quote: reuse successful for system libraries, numeric libraries, and window management; fixed set of fully-specified data types and interfaces [»dehnJC4_1998]
Quote: a library should be flexible, allow polymorphic classes, efficient, and extensible without invalidating existing programs [»fricA4_2000]

Subtopic: library as ease of understanding up

Quote: a library makes it easier to understand programs; standardized conventions and larger units [»wheeDJ6_1949]
Quote: each function in an Emacs library includes documentation for the help system [»stallRM6_1981]
Quote: a master sequence directs the use of subsequences for a compact representation of complex problems [»maucJW1_1947]

Subtopic: library as reliable up

Quote: library subroutines are know to be correct; reduces errors from the fallible human element [»wheeDJ6_1949]
Quote: a robust library expresses constraints as types, reports errors relative to user, and does not cause application errors [»fricA4_2000]

Subtopic: library as extended functionality up

Quote: the experienced user often attaches so much importance to the available libraries that the language itself is considered of secondary importance [»stroB_1987]
Quote: C++ Standard Template Library is good example of generic programming; data containers for user types; allows composition; compile time conversion of abstract type to concrete structures [»dehnJC4_1998]
Quote: a general purpose compiler can translate special notations by combining packages of library information; e.g., expressions and function calls [»holtAW5_1958]
Quote: C is restricted to tasks where a compiler is effective; all other tasks are relegated to subroutine libraries; greater flexibility [»ritcDM7_1978c]
Quote: an extendable dictionary of words that connote actions is similar to subroutine packages [»tuckA1_1975]
Quote: an Emacs library is a coherent set of new and redefined functions that extend the basic system [»stallRM6_1981]
Quote: a C-- executable consists of C-- modules, a large front-end run-time library, and a small C-- run-time system for suspended computations [»ramsN6_2000]
QuoteRef: coheS4_1974 ;;118 System as simple processor with extensive libraries and associated help documentation

Subtopic: library as organization up

Quote: should gather object classes into clusters or libraries; limit cycles in the client relation to a cluster [»meyeB9_1990]
Quote: Eiffel's Data Structure Library defines a taxonomy for data structures by access method, traversing, and storage; e.g., CONTAINER class [»meyeB9_1990]
QuoteRef: shawCJ_1963 ;;54 Compool (central communication pool) a data description library and system library

Subtopic: searching libraries up

Quote: behavior samples of 12 inputs identified relevant subroutines (compatible interfaces); use for automatic, reuse retrieval [»podgA7_1993]

Subtopic: pre-computed tables up

Quote: Babbage's analytical engine punched tables with x,y pairs; could verify that attendant brought the correct card [»babbC_1864, OK]

Subtopic: implementing a library up

Quote: always design a library interface for multiple threads; re-entrant (perhaps by mutex), no results in shared global variables, no asynchronous returns [»birrAD_1991]
Quote: use relocatable code for library subroutines; allows mechanical copying of subroutines [»wilkMV_1951]
Quote: discipline and method libraries define resource requirements and resource management independent of code; one library for many purposes; e.g., vmalloc, sfio, cdt [»voKP2_2000]
Quote: disciplines capture resource requirements in an abstract data structure; e.g., regions for memory management [»voKP2_2000]
Quote: library methods represent an algorithm or policy on a handle; for example vmbest, vmpool, vmlast, vmdebug, vmprofile for memory management
Quote: a discipline type requires an event handling function for managing handles, disciplines/methods, and errors; necessary for memory management [»voKP2_2000]
Quote: libraries are limited by specific resources (e.g., heap objects for malloc) and multiple interfaces (e.g., container operations for ordered vs. unordered collections) [»voKP2_2000]
Quote: an open subroutine is copied as is to a program; a closed subroutine is called from the master routine with a Wheeler jump [»wilkMV_1951]
Quote: transform a library subroutine into its final form on loading [»wheeDJ6_1949]
Quote: a subroutine library requires ability to modify instructions for arguments

Subtopic: analyzing a library up

Quote: store metadata for library data structures in a parallel data structure; e.g., another linked list to mirror a linked list [»necuGC5_2005]

Subtopic: early libraries up

Quote: Babbage's analytical engine had a library of previously constructed functions [»babbC_1864, OK]
Quote: different problems solved by automatic calculating machines share many parts in common; develop a library [»wheeDJ6_1949]
Quote: subroutine libraries were mentioned by Babbage, and used with the Harvard Mark 1 and the ENIAC [»campM1_1980]
Quote: the EDSAC book includes code for the principal library subroutines. It served as a model for early programmers [»wilkMV_1951]
Quote: the EDSAC was the primary source for symbolic assembly systems and the subroutine library [»campM1_1980]
Quote: a GP library package will bring in all of the other procedures needed [»randS_1957]
Quote: a GP routine can contain up to 499 lines of code [»randS_1957]
Quote: Tech Assembly System provided macros and an expansible library of subroutines [»perlAJ2_1959]
Quote: for sequence tapes in the tape library, the starting tapes should check all switches, plugging, and functional units; otherwise, they just compute the initial values [»compHU_1946]

Subtopic: problems with libraries up

Quote: a system's library is highly interdependent; change is difficult since often need to change many modules

Related Topics up

Group: database   (27 topics, 665 quotes)
Group: information retrieval   (25 topics, 674 quotes)

Topic: builtin functions (6 items)
Topic: object-oriented packages (6 items)
Topic: programming with a database of modules (94 items)
Topic: reusable programming (77 items)
Topic: software components (11 items)
Topic: software portability
(43 items)

Updated barberCB 12/05
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.