This article is a comparative survey of object-oriented programminglanguages (OOPLs). It covers: basic concepts and terminology;encapsulation;reusability and extensability;and polymorphism.
This article is a comparative survey of object-oriented programminglanguages (OOPLs). It covers: basic concepts and terminology;encapsulation;reusability and extensability;and polymorphism.
A job control language need not be a ″new″ language, but can be embedded in most existing programminglanguages. As an example, the necessary extensions for Algol are outlined and several applications of them are gi...
详细信息
A job control language need not be a ″new″ language, but can be embedded in most existing programminglanguages. As an example, the necessary extensions for Algol are outlined and several applications of them are given. Some aspects of the implementation and the requirements to the operating system are discussed. A complete list of all requests from job to operating system is given.
Basic aspects of the linguistics of various programming language constructs are surveyed: their concrete grammatical and abstract syntactical specifications; their possible translation into lambda -algebra expressions...
详细信息
Basic aspects of the linguistics of various programming language constructs are surveyed: their concrete grammatical and abstract syntactical specifications; their possible translation into lambda -algebra expressions and concrete, low-level machine-like simple statement sequences, as well as their more abstract denotational semantics description. The aim is to present varieties of analysis and synthesis tools used in understanding and designing meta- and source (programming) languages. The emphasis is on abstraction, and on enabling the student to follow the current literature on denotational semantics in particular and programming language design in general.
The features of a small ALGOL-like language are examined for characteristic errors. These errors occur in the general use of a language feature, rather than its use in a particular program. Language design and defensi...
详细信息
The features of a small ALGOL-like language are examined for characteristic errors. These errors occur in the general use of a language feature, rather than its use in a particular program. Language design and defensive programming are suggested as ways of dealing with these errors. Data collected in observing 33 subjects writing small (43-216 lines), but sophisticated programs demonstrate that these errors are both frequent and persistent in the development of programs.
Techniques are discussed for improving the programming environment for data base applications. The hypothesis is that a superior environment can be realized by incorporating the data base operations as part of the pro...
详细信息
Techniques are discussed for improving the programming environment for data base applications. The hypothesis is that a superior environment can be realized by incorporating the data base operations as part of the programmable language itself. An outline is given of some limitations associated with previously proposed environments. These stem primarily from the fact that the programming language is totally unaware of the data base. An illustration is given of some of the benefits provided by an integrated approach through the application of current techniques from programming language research.
The future of higher level languages in the decade 1975-1985 is predicted. A discussion of what is needed as well as what is expected is included. The discussion concludes with some recommendations for improving the q...
详细信息
The future of higher level languages in the decade 1975-1985 is predicted. A discussion of what is needed as well as what is expected is included. The discussion concludes with some recommendations for improving the quality of programminglanguages in the future.
This paper gives an informal presentation of constructions which, when combined, enable one to construct high level programminglanguages from algebras or, equivalently, from collections of primitive operations on som...
详细信息
This paper gives an informal presentation of constructions which, when combined, enable one to construct high level programminglanguages from algebras or, equivalently, from collections of primitive operations on some set (e. g. from the arithmetic, vector and logical operations on the set of integers, integer vectors, and truth values). Using this approach one can construct languages with block structure, procedures, procedure calls by both name and value, plus essentially simpler concepts such as assignment statements and conditional transfers.
The specification of realistic programminglanguages is difficult and expensive. One approach to make language specification more attractive is the development of techniques and systems for the generation of language-...
详细信息
The specification of realistic programminglanguages is difficult and expensive. One approach to make language specification more attractive is the development of techniques and systems for the generation of language-specific software from specifications. To contribute to this approach, a tool-based framework with the following features is presented: It supports new techniques to specify more language aspects in a static fashion. This improves the efficiency of generated software. It provides powerful interfaces to generated software components. This facilitates the use of these components as parts of language-specific software. It has a rather simple formal semantics. In the framework, static semantics is defined by a very general attribution technique enabling e.g. the specification of flow graphs. The dynamic semantics is defined by evolving algebra rules, a technique that has been successfully applied to realistic programminglanguages. After providing the formal background of the framework, an object-oriented programming language is specified to illustrate the central specification features. In particular, it is shown how parallelism can be handled. The relationship to attribute grammar extensions is discussed using a non-trivial compiler problem. Finally, the paper describes new techniques for implementing the framework and reports on experiences made so far with the implemented system.
In examining the high cost of computerprogramming, this paper identifies eight major headings: organization, design, program construction, error, change, running costs, software procurement, and delay. It then lists ...
详细信息
In examining the high cost of computerprogramming, this paper identifies eight major headings: organization, design, program construction, error, change, running costs, software procurement, and delay. It then lists sixteen ways in which a programming language and its implementation can contribute to these costs, namely, by unfamiliarity, application-orientation, instability, independent compilation, debugging and optimizing compilers, machine dependence, obscurity of specification, freedom of expression, unreadability, inefficient translation, inefficient object code, unreliability, insecurity, lack of structure, illogicality, and complexity. The merits, derived from its predecessors, that some future language might incorporate, include: the simplicity and logicality of the IFIP subset of ALGOL 60; the structuring capabilities of SIMULA 67 and PASCAL; the efficient object code of PASCAL and FORTRAN; the familiarity of RPG and COBOL; and the commercial support and general applicability of PL/I.
This paper first provides the author's definition of high level languages and then discusses some statistics and the problems in measuring usage. A brief indication of methods for defining languages is given, and ...
详细信息
This paper first provides the author's definition of high level languages and then discusses some statistics and the problems in measuring usage. A brief indication of methods for defining languages is given, and the status of standardization of languages in the United States and internationally is shown. The relationship of programminglanguages to software methodology and software engineering is shown, and then some of the research and advanced topics are discussed. A section on technology transfer is followed by a discussion of the author's views of future trends, with separate discussions of hoped for, expected, and not expected, trends.
暂无评论