Group: database
Group: information retrieval
Topic: builtin functions
Topic: object-oriented packages
Topic: programming with a database of modules
Topic: reusable programming
Topic: software components
Topic: software portability
| |
Summary
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
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
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
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
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
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
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
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
Quote: behavior samples of 12 inputs identified relevant subroutines (compatible interfaces); use for automatic, reuse retrieval [»podgA7_1993]
| Subtopic: pre-computed tables
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
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
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
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
Quote: a system's library is highly interdependent; change is difficult since often need to change many modules [»bailGV8_1977]
|
Related Topics
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)
|