@article{165, keywords = {Programming Languages}, author = {Howell Jordan and Goetz Botterweck and John Noll and Andrew Butterfield and Rem Collier}, title = {A feature model of actor, agent, functional, object, and procedural programming languages}, 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.}, year = {2015}, booktitle = {Sci. Comput. Program.}, journal = {Sci. Comput. Program.}, volume = {98}, pages = {120-139}, url = {http://dx.doi.org/10.1016/j.scico.2014.02.009}, doi = {10.1016/j.scico.2014.02.009}, key = {bibcite_165}, }