skip to main content
10.1145/2509136.2509515acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Empirical analysis of programming language adoption

Published:29 October 2013Publication History

ABSTRACT

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. We analyze large datasets, including over 200,000 SourceForge projects, 590,000 projects tracked by Ohloh, and multiple surveys of 1,000-13,000 programmers.

We report several prominent findings. First, 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. Second, 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. The overall number of languages developers are familiar with is independent of age. Finally, when considering intrinsic aspects of languages, developers prioritize expressivity over correctness. They perceive static types as primarily helping with the latter, hence partly explaining the popularity of dynamic languages.

References

  1. Ohloh, the open source network. http://ohloh.net.Google ScholarGoogle Scholar
  2. Sourceforge. http://sourceforge.net.Google ScholarGoogle Scholar
  3. Tiobe index. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html.Google ScholarGoogle Scholar
  4. R. Agarwal and J. Prasad. A Field Study of the Adoption of Software Process Innovations by Information Systems Professionals. IEEE Trans. Engr. Management, 47(3), 2000.Google ScholarGoogle Scholar
  5. Y. Chen, R. Dios, A. Mili, L. Wu, and K. Wang. An empirical study of programming language trends. IEEE Software, 22:72--78, May 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. R. Dattero and S. D. Galup. Programming languages and gender. Communications of the ACM, 47(1):99--102, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. F. D. Davis, R. P. Bagozzi, and P. R. Warshaw. User acceptance of computer technology: a comparison of two theoretical models. Management science, 35(8):982--1003, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. E. Glickman. Parameter estimation in large dynamic paired comparison experiments. Journal of the Royal Statistical Society: Series C (Applied Statistics), 48(3):377--394, 1999.Google ScholarGoogle Scholar
  9. S. Hanenberg. Faith, hope, and love: an essay on software science's neglect of human factors. In Proceedings of the ACM International Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. B. C. Hardgrave and R. A. Johnson. Toward an information systems development acceptance model: the case of object-oriented systems development. IEEE Trans. Engr. Management, 50(3), 2003.Google ScholarGoogle Scholar
  11. Q. Hardy. Technology workers are young (really young). http://bits.blogs.nytimes.com/2013/07/05/technology-workers-are-young-really-young/, 2013.Google ScholarGoogle Scholar
  12. S. Karus and H. Gall. A study of language usage evolution in open source software. In Proceedings of the 8th Working Conference on Mining Software Repositories (MSR), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. D. R. MacIver. The hammer principle. http://hammerprinciple.com/therighttool, 2010.Google ScholarGoogle Scholar
  14. L. A. Meyerovich and A. Rabkin. How not to survey developers and repositories: experiences analyzing language adoption. In Workshop on Evaluation and usability of programming languages and tools (PLATEAU), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. L. A. Meyerovich and A. Rabkin. Socio-PLT: Principles for programming language adoption. In Onward!, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. F. Morandat, B. Hill, L. Osvald, and J. Vitek. Evaluating the design of the R language. In European Conference on Object-Oriented Programming (ECOOP), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Okur and D. Dig. How do developers use parallel libraries? In Foundations of Software Engineering (FSE), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. C. Parnin, C. Bird, and E. Murphy-Hill. Java generics adoption: how new features are introduced, championed, or ignored. In Proceedings of the 8th Working Conference on Mining Software Repositories (MSR), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. D. Patitucci. Gender and programming language preferences of computer programming students at moraine valley community college. Master of Science, Old Dominion University, 2005.Google ScholarGoogle Scholar
  20. G. Richards, C. Hammer, B. Burg, and J. Vitek. The eval that men do: A large-scale study of the use of eval in JavaScript applications. In European Conference on Object-Oriented Programming (ECOOP), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. C. K. Riemenschneider, B. C. Hardgrave, and F. D. Davis. Explaining software developer acceptance of methodologies: A comparison of five theoretical models. IEEE Trans. Software Eng., 28, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. E. Rogers. Diffusion of innovations. Free Press., New York, NY, 1995.Google ScholarGoogle Scholar
  23. C. Scaffidi, M. Shaw, and B. Myers. Estimating the numbers of end users and end user programmers. In IEEE Symposium on Visual Languages and Human-Centric Computing, pages 207--214, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. S. Sutton. Predicting and explaining intentions and behavior: How well are we doing? Journal of Applied Social Psychology, 28(15):1317--1338, 2006.Google ScholarGoogle ScholarCross RefCross Ref
  25. V. Venkatesh, M. G. Morris, G. B. Davis, and F. D. Davis. User acceptance of information technology: Toward a unified view. MIS quarterly, pages 425--478, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Empirical analysis of programming language adoption

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      OOPSLA '13: Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
      October 2013
      904 pages
      ISBN:9781450323741
      DOI:10.1145/2509136

      Copyright © 2013 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 29 October 2013

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      OOPSLA '13 Paper Acceptance Rate50of189submissions,26%Overall Acceptance Rate268of1,244submissions,22%

      Upcoming Conference

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader