First published in 1998, this textbook is a broad but rigourous survey of the theoretical basis for the design, definition and implementation of programming languages and of systems for specifying and proving programm...
详细信息
ISBN:
(纸本)9780521106979
First published in 1998, this textbook is a broad but rigourous survey of the theoretical basis for the design, definition and implementation of programming languages and of systems for specifying and proving programme behaviour. Both imperative and functional programming are covered, as well as the ways of integrating these aspects into more general languages. Recognising a unity of technique beneath the diversity of research in programming languages, the author presents an integrated treatment of the basic principles of the subject. He identifies the relatively small number of concepts, such as compositional semantics, binding structure, domains, transition systems and inference rules, that serve as the foundation of the field. Assuming only knowledge of elementary programming and mathematics, this text is perfect for advanced undergraduate and beginning graduate courses in programming language theory and also will appeal to researchers and professionals in designing or implementing computer languages.
A task-specific programming language (TSPL) is a domain-specific programming language (in programming languages terms) designed for a particular user task (in human-computer interaction terms). Users of task-specific ...
详细信息
ISBN:
(纸本)9781450377157
A task-specific programming language (TSPL) is a domain-specific programming language (in programming languages terms) designed for a particular user task (in human-computer interaction terms). Users of task-specific programming are able to use the tool to complete useful tasks, without prior training, in a short enough period that one can imagine fitting it into a normal class (e.g., around 10 minutes). We are designing a set of task-specific programming languages for use in social studies and precalculus courses. Our goal is offer an alternative to more general purpose programming languages (such as Scratch or Python) for integrating computing into other disciplines. An example task-specific programming language for precalculus offers a concrete context: An image filter builder for learning basic matrix arithmetic (addition and subtraction) and matrix multiplication by a scalar. TSPLs allow us to imagine a research question which we couldn't ask previously: How much computing might students learn if they used a multiple TSPLs in each subject in each primary and secondary school grade?
A review of various approaches to the design and implementation of extensible programming languages is presented. The languages are classified according to the stage of the translation process during which the extensi...
详细信息
The paper analyses different types of assignment and passing objects to and from functions applied in programming languages. The considered kinds of assignment are described as patterns. The patterns are identified ac...
详细信息
ISBN:
(纸本)9781450389976
The paper analyses different types of assignment and passing objects to and from functions applied in programming languages. The considered kinds of assignment are described as patterns. The patterns are identified according to their goal and the opportunities they provide to the programmer. The described patterns are the Value Assignment, the Referential Assignment, the Partial Assignment, Destructuring, and Unboxing. The known uses of the patterns describe the relationship between them and the low-level types directly supported by programming languages. The patterns are intended for programming language designers and people interested in how similar approaches are implemented in different languages.
The definition of guidelines by international reference organizations (IEEE, ACM) in the design of higher education courses in Computer Science and Computer Engineering, means that each higher education institution ma...
详细信息
ISBN:
(纸本)9789895465910
The definition of guidelines by international reference organizations (IEEE, ACM) in the design of higher education courses in Computer Science and Computer Engineering, means that each higher education institution may, or may not, follow these guidelines. However, the existence of national regulatory and quality control agencies (A3ES, ANECA) allows, in some way, to guarantee some systematization in the, for example, programming languages choices that each course can and should have. On the other hand, the software industry's pressure in conditioning programming languages to be taught in higher education institutions is another problem to be considered. The stress carried out by the reference organizations, supported by the national regulatory agencies and the software industry's pressure, does the exercise of adopting programming languages, quite complex. The objective of this article is to portray how Iberian Peninsula countries and hits higher education institutions have organized themselves to respond to the needs of professionals with competences in Computer Engineering, namely in terms of offering courses for students, but also in terms of programming language option chosen as initial, as well as the sequence of initial languages.
One criterion that can be used to compare programming languages is learnability, or the ease with which a programming language can be learned by a programmer. Learnability has many aspects as well, such as mastery, ch...
详细信息
ISBN:
(纸本)9781538604434
One criterion that can be used to compare programming languages is learnability, or the ease with which a programming language can be learned by a programmer. Learnability has many aspects as well, such as mastery, change in performance over time, and initial learnability. This work examines a proposed measure of initial learnability that is based on the amount of time that a programmer needs to transfer his/her knowledge of one programming language to the understanding of another. The study design involves presenting human participants (who are programmers) with a sample of programming code written in a language that they know, alongside a sample of programming code implementing the same operations but in a language with which they are not familiar. The participant is then asked to examine the two samples of code, and then indicate when they feel that they are ready to reflect in writing on the differences and similarities between the familiar and the unfamiliar language. The proposed measure of initial learnability is the time it takes the participant to indicate that they are ready to proceed with the comparison. Repeating this procedure many times produces a series of learnability measures, each of which is connected to a pair of programming languages, i.e. each measurement characterizes the learnability of one programming language, given a subject's familiarity with another programming language. Because this approach is novel and not similar to other approaches tried in the past, we wish to gain some assurance of its validity before a full experiment. To do this, we plan to run a preexperiment using this study design but with natural languages instead of programming languages. The data from this preexperiment, if the approach is valid, will show that certain natural languages are easier to learn than others, given prior familiarity with similar languages. Because the notion of "similar" natural languages is well defined and documented, we can validate our data
The 12th ACM SIGSAC Workshop on programming languages and Analysis for Security (PLAS 2017) is co-located with the ACM Conference on Computer and Communications Security (CCS). Over its now more than ten-year history,...
详细信息
ISBN:
(纸本)9781450349468
The 12th ACM SIGSAC Workshop on programming languages and Analysis for Security (PLAS 2017) is co-located with the ACM Conference on Computer and Communications Security (CCS). Over its now more than ten-year history, PLAS has provided a unique forum for researchers and practitioners to exchange ideas about programming language and program analysis techniques with the goal of improving the security of software systems. PLAS aims to provide a forum for exploring and evaluating ideas on using programming language and program analysis techniques to improve the security of software systems. Strongly encouraged are proposals of new, speculative ideas, evaluations of new or known techniques in practical settings, and discussions of emerging threats and important problems.
This paper discusses both the history and future of programming languages (= higher level languages). Some of the difficulties in writing such a history are indicated. A key part of the paper is a tree showing the chr...
详细信息
This paper discusses both the history and future of programming languages (= higher level languages). Some of the difficulties in writing such a history are indicated. A key part of the paper is a tree showing the chronological development of languages and their interrelationships, Reasons for the proliferation of languages are given. The major languages are listed with the reasons for their importance. A section on chronology indicates the happenings of the significant previous time periods and the major topics of 1972. [ABSTRACT FROM AUTHOR]
The draft IEC standard for Programmable Controllers contains the elements necessary for the introduction of modern programming practices for the control of processes and machines, while retaining the ease of use of tr...
详细信息
暂无评论