Abstract
The motivation behind the work in very-high-level languages is to ease the programming task by providing the programmer with a language containing primitives or abstractions suitable to his problem area. The programmer is then able to spend his effort in the right place; he concentrates on solving his problem, and the resulting program will be more reliable as a result. Clearly, this is a worthwhile goal.
Unfortunately, it is very difficult for a designer to select in advance all the abstractions which the users of his language might need. If a language is to be used at all, it is likely to be used to solve problems which its designer did not envision, and for which the abstractions embedded in the language are not sufficient.
This paper presents an approach which allows the set of built-in abstractions to be augmented when the need for a new data abstraction is discovered. This approach to the handling of abstraction is an outgrowth of work on designing a language for structured programming. Relevant aspects of this language are described, and examples of the use and definitions of abstractions are given.
- 1 Wirth, N. The programming language PASCAL. Acta Informatica, Vol. 1 (1971), pp 35-63.]]Google ScholarDigital Library
- 2 Parnas, D. L. Information distribution aspects of design methodology, Proceedings of the IFIP Congress, August 1971.]]Google Scholar
- 3 Dijkstra, E. W. Notes on structured programming. Structured Programming, A.P.I.C. Studies in Data Processing, No. 8, Academic Press, New York, 1972, pp 1-81.]] Google ScholarDigital Library
- 4 Schuman, S. A. and P. Jorrand. Definition mechanisms in extensible programming languages. Proceedings of the AFIPS, Vol. 37, 1970, pp 9-19.]]Google Scholar
- 5 Mealy, G. Another look at data. Proceedings of the AFIPS, Vol. 31, 1967, pp 525-534.]]Google Scholar
- 6 Balzer, R. M. Dataless programming. Proceedings of the AFIPS, Vol. 31, 1967, pp 557-566.]]Google Scholar
- 7 Earley, J. Toward an understanding of data structures. Comm. of the ACM, Vol. 14, No. 10 (October 1971), pp 617-627.]] Google ScholarDigital Library
- 8 Dahl, O.-J., B. Myhrhaug, and K. Nygaard. The SIMULA 67 Common Base Language. Norwegian Computing Center, Oslo, Publication S-22, 1970.]] Google ScholarDigital Library
- 9 Daley, R. C., and P. G. Neumann. A general purpose file system for secondary storage. Proceedings of the AFIPS, Vol. 27, 1965, pp 213-229.]]Google Scholar
- 10 Morris, J. H., Jr. Protection in programming languages. Comm. of the ACM, Vol. 16, No. 1 (January 1973), pp 15-21.]] Google ScholarDigital Library
- 11 Zilles, S. N. Procedural encapsulation: a linguistic protection technique. SIGPLAN Notices, Vol. 8, No. 9 (September 1973), pp 140-146.]] Google ScholarDigital Library
- 12 Reynolds, J. Personal communication.]]Google Scholar
- 13 Liskov, B. H. A design methodology for reliable software systems. Proceedings of the AFIPS, Vol. 41, 1972, pp 191-199.]]Google Scholar
Index Terms
- Programming with abstract data types
Recommendations
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languagesThe motivation behind the work in very-high-level languages is to ease the programming task by providing the programmer with a language containing primitives or abstractions suitable to his problem area. The programmer is then able to spend his effort ...
Abstract syntax based programming environments
AdaTEC '82: Proceedings of the AdaTEC Conference on AdaA program development environment based on a high-level semantic representation of programs rather than a textual representation was investigated. Several programming languages are supported through the use of language parameterized tools. These tools ...
Comments