Correctness of data representations (Extended Abstract): Pointers in high level languages

  • Authors:
  • D. M. Berry;Z. Erlich;C. J. Lucena

  • Affiliations:
  • Computer Science Dept., UCLA, Los Angeles, California;Computer Science Dept., UCLA, Los Angeles, California;Depto. de Informática, Pontlfícia Universidade, Catollca, Rio de Janeiro, RJ, BRASIL

  • Venue:
  • Proceedings of the 1976 conference on Data : Abstraction, definition and structure
  • Year:
  • 1976

Quantified Score

Hi-index 0.00

Visualization

Abstract

At present, there is considerable debate whether, in light of what is being learned about construction of reliable software, pointers are desirable in high level programming languages. One side [Hoa73, Hoa75] maintains that 1) Pointers are like the goto in that they are an invitation to create spaghetti in one's program [Hoa75]. 2) In some languages, e.g., PL/1 [Wlk71], the use of pointers can lead to serious type violations, for example, the compiler believes that a given pointer will be pointing to an integer when in fact, it will be pointing to a real. 3) The indiscriminate use of pointers may confound the attempts of hardware pipelining and use of cache memory to speed up computations [Hoa73, Hoa75]. 4) A pointer may be left dangling, that is, a pointer may point to a variable or other datum which has been deallocated [Bry71, CDMPS73, Bry74].