Map
Index
Random
Help
th

QuoteRef: dehnJC4_1998

topics > all references > ThesaHelp: references c-d



ThesaHelp:
references c-d
Topic:
abstraction in programming language
Topic:
reusable programming
Topic:
generic operations and polymorphism
Topic:
function library
Topic:
extensible languages
Topic:
abstraction in programming
Topic:
object-oriented templates and containers
Topic:
uniform reference to data
Topic:
primitive data type as memory
Topic:
universal data type
Topic:
uniform representation of files and sequences
Topic:
object and value equivalence
Topic:
initialization of data
Topic:
data type as constructors, selectors, and predicates
Topic:
replacement as setting a reference to a value
Topic:
variables as objects which remember a value
Topic:
structural equivalence vs. name equivalence of data types
Topic:
interface between program modules
Topic:
uniform language systems
Topic:
aliasing
Topic:
code optimization by instruction reordering or scheduling
Topic:
optimization of object-oriented programs
Topic:
algorithmic complexity analysis
Topic:
efficiency
Topic:
data type as a set of operations
Topic:
iterator
Topic:
lists

Reference

Dehnert, J.C., Stepanov, A., "Fundamentals of generic programming", in Jazayeri, M., et all (ed.), Generic Programming '98, Heidelberg Germany, Springer-Verlag, 2000, LNCS 1766, April/May 1998, pp. 1-11. Google

Quotations
1 ;;Quote: generic programming decomposes software into components with minimal assumptions; allows reuse without modification, like successful libraries
1 ;;Quote: reuse successful for system libraries, numeric libraries, and window management; fixed set of fully-specified data types and interfaces
2 ;;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
2 ;;Quote: IBM 360 generalized machine memory as a sequence of bytes with uniform addressing independent of type
3 ;;Quote: the fundamental operations of type T are constructors, destructors, assignment, equality, and ordering
4 ;;Quote: constructing a type with an initial value is the same as assigning a value; both values equal afterwards
5 ;;Quote: a copy constructor creates a copy; zapping a value does not change other initializations
7 ;;Quote: equality of objects with remote parts must also test the remote parts; e.g., variable size objects
7 ;;Quote: equality should ignore irrelevant components; e.g., a reference count
7 ;;Quote: equality should ignore components that reflect relationships between objects; e.g., the person sitting on a chair object
7 ;;Quote: two objects are equal if their parts are equal, including remote parts, ignoring addresses, inessential components, and relationships
8 ;;Quote: idiosyncratic interfaces are not usable for widely reusable components and generic programming; interfaces should be obvious and consistently applied
9 ;;Quote: many optimizations depend on copies creating equal values while not affecting other values; if not enforced, user types can not be optimized
10 ;;Quote: users and programs make assumptions about operator complexity; e.g., push and pop should be amortized constant time, string copy should be linear
10+;;Quote: keep bidirectional iterators separate from random access iterators; e.g., different algorithms for rotate and random shuffle using these iterators
10 ;;Quote: constructors, destructors, and assignment are average-case linear time in total size of all parts
10+;;Quote: the equality operator is worst-case, linear time
10+;;Quote: equality failure is typically constant time since unequal objects usually test unequal early


Related Topics up

ThesaHelp: references c-d (337 items)
Topic: abstraction in programming language (47 items)
Topic: reusable programming (77 items)
Topic: generic operations and polymorphism (65 items)
Topic: function library (50 items)
Topic: extensible languages (69 items)
Topic: abstraction in programming (67 items)
Topic: object-oriented templates and containers (27 items)
Topic: uniform reference to data (34 items)
Topic: primitive data type as memory (29 items)
Topic: universal data type (18 items)
Topic: uniform representation of files and sequences (14 items)
Topic: object and value equivalence (60 items)
Topic: initialization of data (42 items)
Topic: data type as constructors, selectors, and predicates (20 items)
Topic: replacement as setting a reference to a value (10 items)
Topic: variables as objects which remember a value (10 items)
Topic: structural equivalence vs. name equivalence of data types (30 items)
Topic: interface between program modules (55 items)
Topic: uniform language systems (25 items)
Topic: aliasing (28 items)
Topic: code optimization by instruction reordering or scheduling (16 items)
Topic: optimization of object-oriented programs (16 items)
Topic: algorithmic complexity analysis (10 items)
Topic: efficiency (96 items)
Topic: data type as a set of operations (38 items)
Topic: iterator (13 items)
Topic: lists (7 items)

Collected barberCB 11/02
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.