The conceptual view model of output is based on the complete separation of the output specification of a program from the program itself, and the use of implicit synchronization to allow the data state of the program ...
详细信息
ISBN:
(纸本)0818620366
The conceptual view model of output is based on the complete separation of the output specification of a program from the program itself, and the use of implicit synchronization to allow the data state of the program to be continuously mapped to a display view. An output specification language called GVL is used to specify the mapping from the program's data state to the display. GVL is a functional language explicitly designed for specifying output. Building from a small number of basic primitives, it provides sufficient power to describe complex graphical output. Examples, including GVL specifications for linked list diagrams, bar charts and an address card file, are given. In keeping with its intended application, GVL is also a graphical language, in which the user draws output specifications directly on the display. How problems often associated with imperative graphical languages are avoided by using the functional paradigm is shown. A prototype implementation of GVL was used to produce examples of graphical output.
The paper starts with a description of the different categories of programminglanguages available, discusses in general terms their advantages and disadvantages, and summarizes their applicability to microprocessor p...
详细信息
The paper starts with a description of the different categories of programminglanguages available, discusses in general terms their advantages and disadvantages, and summarizes their applicability to microprocessor programming. The second part describes some of the basic techniques used in programming and goes on to explain how various desirable features of a program such as clarity, reliability, ease of writing, etc. can be improved by the use of macros, subroutines, and other similar techniques. Finally some examples are given of how some of the benefits of structured programming can be introduced into existing assembler languages.
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.
The activity of research group of massively parallel programming language is introduced. This group is developing two types of languages. The first one is the SIMD type language called NCX which is oriented toward dat...
详细信息
The activity of research group of massively parallel programming language is introduced. This group is developing two types of languages. The first one is the SIMD type language called NCX which is oriented toward data parallel execution, and the second is the MIMD type highly asynchronous language called V, which is oriented toward data parallel and concurrent object oriented language. The NCX is designed as a data parallel extension of the language C in order to support practical massively parallel computations especially in the application area of scientific computations. The language V on the other hand is designed as an experimental language for exploring a new massively parallel programming paradigm.
Data parallel programming is becoming an increasingly important tool for exploiting parallelism in data-intensive applications, especially on SIMD and vector computers. Many algorithms appearing in such applications a...
详细信息
ISBN:
(纸本)089791595X
Data parallel programming is becoming an increasingly important tool for exploiting parallelism in data-intensive applications, especially on SIMD and vector computers. Many algorithms appearing in such applications are very succinctly expressed in data parallel languages: this indicates that data parallel programming can be a powerful abstract programming paradigm rather than just a syntax for explicit programming of SIMD computers. The data parallel languages in practical use today are, however, exponents of exactly the latter point of view: even though they incorporate some elements of abstraction, their semantics are all to some extent based on a SIMD execution model. Therefore it is hard to use these languages to express algorithms in the problem domain in an abstract, machine-independent way. This is likely to make programming in these languages more error-prone and programs less portable than if they had been designed with a more clean-cut abstract semantics. Here, we present some mathematical definitions of data parallel primitives that can be used to guide the design of data parallel languages with a higher level of abstraction. The key idea is to view data parallel entities as tabulated functions where the tables are stored in a distributed fashion. Operations on data parallel entities are then simply operations on functions, just as operations in pure functional languages. An interesting observation is that also traditional data structures, like lists and arrays, are covered by our view. This illustrates the level of abstraction achieved. An especially interesting possibility is to integrate data parallel and higher order functional languages. Data parallel entities are then just a particular class of functions that can be represented in a particular way. We believe that such languages are very suitable as specification languages for data parallel algorithms.
The schematic pseudocode, a formal schematic notation for the representation of the structure of programminglanguages, is proposed. This notation is independent of any programming language. The schematic pseudocode c...
详细信息
ISBN:
(纸本)0897911733
The schematic pseudocode, a formal schematic notation for the representation of the structure of programminglanguages, is proposed. This notation is independent of any programming language. The schematic pseudocode contains both symbolic and perceptual elements. The two elements are independent, one conveying information on the content of the sets and the other conveying information on the relations between sets. A software tool, named SCHEMACODE, supports the use of this language and automatically generates source code in target procedural language. Comments are given on the use of this approach to make programs over the past three years. The niche that SCHEMACODE occupies in the gamut of programming aids is defined in terms of its input, functions, and output. Other methods of classification are also used. The salient features of the schematic pseudocode and its computer automation are stressed.
Control abstraction is the process by which programmers define new control constructs, specifying a statement ordering separately from an implementation of that ordering. It is argued that control abstraction can and ...
详细信息
ISBN:
(纸本)0818625856
Control abstraction is the process by which programmers define new control constructs, specifying a statement ordering separately from an implementation of that ordering. It is argued that control abstraction can and should play a central role in parallel programming. Control abstraction can be used to build new control constructs for the expression of parallelism. A control construct can have several implementations, representing the varying degrees of parallelism to be exploited on different architectures. Control abstraction also reduces the need for explicit synchronization, since it admits a precise specification of control flow. Several examples are used to illustrate the benefits of control abstraction. It is also shown that one can efficiently implement a parallel programming language based on control abstraction. It is argued that, because of the enormous benefits and reasonable costs of control abstraction, it should be included in explicitly parallel programminglanguages.
The author explores some possibilities for the programminglanguages of the next century. Projections are based on what has and has not been accomplished in the last four decades and the programming tools proposed for...
详细信息
ISBN:
(纸本)0818608749
The author explores some possibilities for the programminglanguages of the next century. Projections are based on what has and has not been accomplished in the last four decades and the programming tools proposed for the next decade. Influencing programming language directions at both the high levels of software development (e.g., problem decomposition) and at the lower levels (e.g., algorithm implementation) will be parallel execution. There could (finally) come a serious break with the traditional languages such as Fortran, Algol, PL-1, Pascal, C, and Ada. Very-high-level languages (VHLL) could take over in popularity. Within an increasing number of domains, the programming, in addition to man-machine interfaces, will be accomplished through multiple media (VHLL, speech, natural language, mouse, menus, touch screen, etc.).
作者:
Lucas, SalvadorDSIC
Univ. Politécnica de Valencia Camino de Vera s/n 46022 Valencia Spain
This paper provides a brief account of motivation, themes, and research directions leading to the round table on Strategies in programminglanguages Today organized as part of the 4th International Workshop on Reducti...
详细信息
The issues addressed at the 9th international workshop on data base programminglanguages were discussed. A paper, Avoiding Unnecessary Ordering Operations in XPath, described an algorithm for detecting redundant sort...
详细信息
The issues addressed at the 9th international workshop on data base programminglanguages were discussed. A paper, Avoiding Unnecessary Ordering Operations in XPath, described an algorithm for detecting redundant sort operators. The paper Integrating Database and programminglanguages Constraints, that addresses the problem of data consistency in applications that interact with databases was also presented. Three papers presented in the seventh session XML Processing and Validation were also elaborated.
暂无评论