scispace - formally typeset
Open AccessJournal ArticleDOI

The impact of software engineering research on modern programming languages

TLDR
Evidence is provided of the impact of software engineering research on modern programming language design and the close relationship between these two fields by focusing on several major features of current programming languages.
Abstract
Software engineering research and programming language design have enjoyed a symbiotic relationship, with traceable impacts since the 1970s, when these areas were first distinguished from one another. This report documents this relationship by focusing on several major features of current programming languages: data and procedural abstraction, types, concurrency, exceptions, and visual programming mechanisms. The influences are determined by tracing references in publications in both fields, obtaining oral histories from language designers delineating influences on them, and tracking cotemporal research trends and ideas as demonstrated by workshop topics, special issue publications, and invited talks in the two fields. In some cases there is conclusive data supporting influence. In other cases, there are circumstantial arguments (i.e., cotemporal ideas) that indicate influence. Using this approach, this study provides evidence of the impact of software engineering research on modern programming language design and documents the close relationship between these two fields.

read more

Content maybe subject to copyright    Report

Citations
More filters
Proceedings ArticleDOI

A view of 20th and 21st century software engineering

TL;DR: This paper tries to identify at least some of the major past software experiences that were well worth repeating, and some that were not, and makes some first steps towards distinguishing relatively timeless software engineering principles that are risky not to repeat, and conditions of change under which aging practices will become increasingly risky to repeat.
Journal ArticleDOI

Abstraction and specification in program development

TL;DR: Abstraction and specification in program development will lead you to love reading starting from now and will improve your quality of the life however is the role.
Proceedings ArticleDOI

How practitioners perceive the relevance of software engineering research

TL;DR: A survey at Microsoft where 3,000 industry practitioners were invited to rate the relevance of research ideas contained in 571 ICSE, ESEC/FSE and FSE papers that were published over a five year period suggests that practitioners are positive towards studies done by the software engineering research community.
Journal Article

Monitors: An Operating System Structuring Concept

TL;DR: This paper develops Brinch-Hansen's concept of a monitor as a method of structuring an operating system, introduces a form of synchronization, describes a possible method of implementation in terms of semaphores and gives a suitable proof rule.

System Structure for Software Fault Tolerance

TL;DR: The aim is to facilitate the provision of dependable error detection and recovery facilities which can cope with errors caused by residual design inadequacies, particularly in the system software, rather than merely the occasional malfunctioning of hardware components.
References
More filters
Journal ArticleDOI

Communicating sequential processes

TL;DR: It is suggested that input and output are basic primitives of programming and that parallel composition of communicating sequential processes is a fundamental program structuring method.
Journal ArticleDOI

On the criteria to be used in decomposing systems into modules

TL;DR: In this paper, the authors discuss modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time, and the effectiveness of modularization is dependent upon the criteria used in dividing the system into modules.
Journal Article

An Axiomatic Basis for Computer Programming

Book

The Java Language Specification

TL;DR: The Java Language Specification, Second Edition is the definitive technical reference for the Java programming language and provides complete, accurate, and detailed coverage of the syntax and semantics of the Java language.
Book

Smalltalk-80: The Language and its Implementation

TL;DR: This book is the first detailed account of the Smalltalk-80 system and is divided into four major parts: an overview of the concepts and syntax of the programming language, a specification of the system's functionality, and an example of the design and implementation of a moderate-size application.
Related Papers (5)
Trending Questions (1)
Does COEP have software engineering?

Using this approach, this study provides evidence of the impact of software engineering research on modern programming language design and documents the close relationship between these two fields.