This document summarizes an empirical study of programming language adoption. The study analyzed data from online surveys of over 13,000 programmers and software projects from GitHub to model how languages grow and are selected. The key findings were:
1) Languages grow niche by niche as they build libraries and user bases in specific application domains.
2) Extrinsic factors like existing libraries, team familiarity, and project needs dominate language selection over intrinsic properties.
3) Programmers can learn a new language well within 6 months, and their working set of languages remains fluid throughout their career as they refresh skills.
Related topics: