A Feature Model of Actor, Agent, Functional, Object, and Procedural Programming Languages: Special Issue on Programming with Actors, Agents and Decentralized Control Abstractions

H.R. Jordan, G. Botterweck, J.H. Noll, A. Butterfield, R.W. Collier

Research output: Contribution to journalArticlepeer-review

Abstract

The number of programming languages is large and steadily increasing. However, little structured information and empirical evidence is available to help software engineers assess the suitability of a language for a particular development project or software architecture.

We argue that these shortages are partly due to a lack of high-level, objective programming language feature assessment criteria: existing advice to practitioners is often based on ill-defined notions of ‘paradigms’ [3, p. xiii] and ‘orientation’, while researchers lack a shared common basis for generalisation and synthesis of empirical results.

This paper presents a feature model constructed from the programmer's perspective, which can be used to precisely compare general-purpose programming languages in the actor-oriented, agent-oriented, functional, object-oriented, and procedural categories. The feature model is derived from the existing literature on general concepts of programming, and validated with concrete mappings of well-known languages in each of these categories. The model is intended to act as a tool for both practitioners and researchers, to facilitate both further high-level comparative studies of programming languages, and detailed investigations of feature usage and efficacy in specific development contexts.
Original languageEnglish
Pages (from-to)120-139
Number of pages19
JournalScience of Computer Programming
Volume98
Issue numberP2
Early online date20 Feb 2014
DOIs
Publication statusPublished - 1 Feb 2015

Fingerprint

Dive into the research topics of 'A Feature Model of Actor, Agent, Functional, Object, and Procedural Programming Languages: Special Issue on Programming with Actors, Agents and Decentralized Control Abstractions'. Together they form a unique fingerprint.

Cite this