Confusing terminology becoming established . . .

Memory Management in the 21st Century

by Conrad Weisert
October 7, 2013
© 2013 Information Disciplines, Inc.

dynamic memory allocation

The allocation of areas of main memory (or RAM) from a free pool as needed during execution

—Que Programmers' Dictionary, 1993, p.149

dynamic allocation

(2) Assignment of system resources to a program when the program is executed rather than when it is loaded into main storage.

—IBM Dictionary of Computing, tenth edition, 1993, p. 224

dynamic allocation

The allocation of memory during program execution according to current needs.

—Microsoft Press Computer Dictionary, 1991, p. 120

In a 1998 book review I noted the mis-use of the term "dynamic memory allocation". But recently the mis-use I complained about has been gaining ground and appears in more and more books and articles. Should we consider these to be writers' errors or has the terminology evolved to mean something different from what it meant in the 1990s?

An example from 2006: Dingle & Hildebrandt: C++: Memory First, ISBN 1-59018-052-0 devotes a a major section (4.3) to the same strange interpretation that I noted in 1998.

When we first confronted memory management, we learned three ways in which memory could be allocated to a data item:

  1. static allocation denotes memory reserved inside the object program and loaded into memory with the program.   It's all we had with early Cobol and Fortran.

  2. automatic allocation1 occurs dynamically upon entry to a block and is released upon exit from the block.   It's the default in Algol, PL/I, and the C family.

  3. controlled allocation2 occus in response to deliberate action taken by the program.

It's type 3 that some writers have started to consider synonymous with "dynamic allocation", forgetting that type 2 (automatic or stack allocation) is also dynamic according to established usage and common-sense definition.

In our courses and written material, we shall stick to the traditional terminology, but we'll be prepared to understand the new practice.

1C programmers may call this stack allocation.
2— C programmers may call this heap allocation.

Return to Technical articles
IDI Home page

Last modified October 7, 2013