This paper quantitatively analyzes why some programming language succeed and others fail. We analyze several large datasets, including over 200,000 SourceForge projects and multiple surveys of 1,000-13,000 programmers. We observe trends in language popularity and adoption. Popularity follows an exponential curve: the tail accounts for only insignificant development effort and the top few languages succeed across a wide range of domains. Examining adoption, we find that social factors usually outweigh technical ones. In fact, the larger the organization, the more important social factors become. Likewise, developers are willing to adopt new languages, but are heavily shaped by their education. Developers prioritize expressivity over correctness, and perceive static types to be more helpful for the latter than the former. Taken together, our results help explain the process by which languages become adopted or not.
Paper by Leo Meyerovich and Ariel Rabkin, ostensibly a part of their Socio-PLT effort.