Leo A. Meyerovich and Ariel Rabkin. Empirical Analysis of Programming Language Adoption. OOPSLA ’13. 2013.
The following text is copied and slightly modified from the paper.
Some programming languages become widely popular while others fail to grow beyond their niche or disappear altogether. This paper uses survey methodology to identify the factors that lead to language adoption. Leo A. Meyerovich and Ariel Rabkin analyzed large datasets, including over 200,000 SourceForge projects, 590,000 projects tracked by Ohloh, and multiple surveys of 1,000-13,000 programmers. They report several prominent ﬁndings.
- Language adoption follows a power law; a small number of languages account for most language use, but the programming market supports many languages with niche user bases.
- Intrinsic features have only secondary importance in adoption.
- Open source libraries, existing code, and experience strongly influence developers when selecting a language for a project.
- Language features such as performance, reliability, and simple semantics do not. Third, developers will steadily learn and forget languages, and the overall number of languages developers are familiar with is independent of age.
- Developers select more varied languages if their education exposed them to different language families.
- When considering intrinsic aspects of languages, developers prioritize expressivity over correctness. They perceive static types as more valuable for properties such as the former rather than for correctness checking.
Their results also help inform the broader computer science community. Since language selection is tied to libraries, legacy, and familiarity, there are history-effects and therefore potentially multiple stable equilibria. This suggests that if today’s popular languages can be replaced or improved, the changes will be durable.