Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Some desirable properties of data abstraction facilities

Published: 01 March 1976 Publication History

Abstract

It is currently popular to say that programming languages need “data abstraction facilities,” and to assert that the provision of such facilities would provide conceptual and practical advantages in the domain of data structures akin to the advantages provided by procedures in the domain of computational structures. This note explores some of the implications of this metaphor, without attempting to make it precise. I shall use the term capsule to refer to the data analog of procedure. [Those who are familiar with the SIMULA class, the CLU cluster, or the ALPHARD form, may use any of these as an approximation to capsule; I use a neutral term to avoid implying the details of any particular language.]
First, what are the advantages provided by procedures (subroutines, functions, macros)? I can think of at least eight (highly interrelated) categories: 1) avoidance of repetition, 2) modular program structure, 3) a basis for structured programming, 4) conceptual units for understanding and reasoning about programs, 5) clearly defined interfaces that may be precisely specified, 6) units of maintenance and improvement, 7) a language extension mechanism, and 8) units for separate compilation. Let us consider each of these in turn.

Cited By

View all
  • (2005)Persistent first class procedures are enoughFoundations of Software Technology and Theoretical Computer Science10.1007/3-540-13883-8_75(223-240)Online publication date: 31-May-2005
  • (1985)The persistent store as an enabling technology for integrated project support environmentsProceedings of the 8th international conference on Software engineering10.5555/319568.319614(166-172)Online publication date: 1-Aug-1985
  • (1985)Procedures as persistent data objectsACM Transactions on Programming Languages and Systems10.1145/4472.44777:4(539-559)Online publication date: 1-Oct-1985
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 11, Issue SI
Proceedings of the 1976 conference on Data : Abstraction, definition and structure
March 1976
190 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/942574
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 March 1976
Published in SIGPLAN Volume 11, Issue SI

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)80
  • Downloads (Last 6 weeks)22
Reflects downloads up to 03 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2005)Persistent first class procedures are enoughFoundations of Software Technology and Theoretical Computer Science10.1007/3-540-13883-8_75(223-240)Online publication date: 31-May-2005
  • (1985)The persistent store as an enabling technology for integrated project support environmentsProceedings of the 8th international conference on Software engineering10.5555/319568.319614(166-172)Online publication date: 1-Aug-1985
  • (1985)Procedures as persistent data objectsACM Transactions on Programming Languages and Systems10.1145/4472.44777:4(539-559)Online publication date: 1-Oct-1985
  • (1977)Notes on the design of EuclidProceedings of an ACM conference on Language design for reliable software10.1145/800022.808307(11-18)Online publication date: 1-Mar-1977
  • (1977)Notes on the design of EuclidACM SIGSOFT Software Engineering Notes10.1145/390019.8083072:2(11-18)Online publication date: 1-Mar-1977
  • (1977)Notes on the design of EuclidACM SIGOPS Operating Systems Review10.1145/390018.80830711:2(11-18)Online publication date: 1-Mar-1977
  • (1977)Notes on the design of EuclidACM SIGPLAN Notices10.1145/390017.80830712:3(11-18)Online publication date: 1-Mar-1977
  • (1977)Some issues in data types and type checkingDesign and Implementation of Programming Languages10.1007/BFb0021421(102-130)Online publication date: 1977
  • (1985)Procedures as persistent data objectsACM Transactions on Programming Languages and Systems10.1145/4472.44777:4(539-559)Online publication date: 1-Oct-1985
  • (1983)Toward type-oriented dynamic vertical migrationACM SIGMICRO Newsletter10.1145/1096419.109643914:4(128-139)Online publication date: 1-Dec-1983
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media