Human Biology Open Access Pre-Prints

Document Type


Anticipated Volume


Anticipated Issue



Our interaction with complex computing machines is mediated by programming languages (PLs) which constitute one of the major innovations in the evolution of technology. PLs allowed a flexible, scalable and fast use of hardware and are largely responsible for shaping the history of information technology since the rise of computers in the 1950s. The rapid growth and impact of computers was followed closely by the development of programming languages. As it occurs with natural, human languages, they emerged and got extinct. There has been always a diversity of coexisting PLs that somewhat compete among them, while occupying special niches. Here we show that the statistical patterns of language adoption and the pattern of rise and fall can be accounted for by means of a simple model where a set of programmers can use several PLs, decide to use existing ones used by other programmers or decide not to use them. Our results highlights the influence of strong communities of practice in the diffusion of PL innovations.