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 language | English |
|---|---|
| Pages (from-to) | 120-139 |
| Number of pages | 20 |
| Journal | Science of Computer Programming |
| Volume | 98 |
| Issue number | P2 |
| DOIs | |
| Publication status | Published - 1 Feb 2015 |
Keywords
- Agent-oriented programming
- Functional programming
- Object-oriented programming
- Programming language constructs
- Programming languages
Fingerprint
Dive into the research topics of 'A feature model of actor, agent, functional, object, and procedural programming languages'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver