A feature model of actor, agent, functional, object, and procedural programming languages

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 shortage...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Science of computer programming Ročník 98; s. 120 - 139
Hlavní autori: Jordan, Howell, Botterweck, Goetz, Noll, John, Butterfield, Andrew, Collier, Rem
Médium: Journal Article
Jazyk:English
Vydavateľské údaje: Elsevier B.V 01.02.2015
Predmet:
ISSN:0167-6423, 1872-7964
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Popis
Shrnutí: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. •A survey of existing programming language comparisons and comparison techniques.•Definitions of actor, agent, functional, object, and procedural programming concepts.•A feature model of general-purpose programming languages.•Mappings from five languages (C, Erlang, Haskell, Jason, and Java) to this model.
ISSN:0167-6423
1872-7964
DOI:10.1016/j.scico.2014.02.009