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

Empirical analysis of programming language adoption

Published: 29 October 2013 Publication 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.
[2]
Sourceforge. http://sourceforge.net.
[3]
Tiobe index. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html.
[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.
[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.
[6]
R. Dattero and S. D. Galup. Programming languages and gender. Communications of the ACM, 47(1):99--102, 2004.
[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.
[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.
[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.
[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.
[11]
Q. Hardy. Technology workers are young (really young). http://bits.blogs.nytimes.com/2013/07/05/technology-workers-are-young-really-young/, 2013.
[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.
[13]
D. R. MacIver. The hammer principle. http://hammerprinciple.com/therighttool, 2010.
[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.
[15]
L. A. Meyerovich and A. Rabkin. Socio-PLT: Principles for programming language adoption. In Onward!, 2012.
[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.
[17]
S. Okur and D. Dig. How do developers use parallel libraries? In Foundations of Software Engineering (FSE), 2012.
[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.
[19]
D. Patitucci. Gender and programming language preferences of computer programming students at moraine valley community college. Master of Science, Old Dominion University, 2005.
[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.
[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.
[22]
E. Rogers. Diffusion of innovations. Free Press., New York, NY, 1995.
[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.
[24]
S. Sutton. Predicting and explaining intentions and behavior: How well are we doing? Journal of Applied Social Psychology, 28(15):1317--1338, 2006.
[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.

Cited By

View all
  • (2025)DeVAIC: A tool for security assessment of AI-generated codeInformation and Software Technology10.1016/j.infsof.2024.107572177(107572)Online publication date: Jan-2025
  • (2024)Simulation Approaches Used for Management and Decision Making in the Beef Production Sector: A Systematic ReviewAnimals10.3390/ani1411163214:11(1632)Online publication date: 30-May-2024
  • (2024)A Case for Feminism in Programming Language DesignProceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3689492.3689809(205-222)Online publication date: 17-Oct-2024
  • Show More Cited By

Index Terms

  1. Empirical analysis of programming language adoption

    Recommendations

    Comments

    Information & Contributors

    Information

    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
    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].

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 29 October 2013

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. programming language adoption
    2. survey research

    Qualifiers

    • Research-article

    Conference

    SPLASH '13
    Sponsor:

    Acceptance Rates

    OOPSLA '13 Paper Acceptance Rate 50 of 189 submissions, 26%;
    Overall Acceptance Rate 268 of 1,244 submissions, 22%

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)228
    • Downloads (Last 6 weeks)29
    Reflects downloads up to 04 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2025)DeVAIC: A tool for security assessment of AI-generated codeInformation and Software Technology10.1016/j.infsof.2024.107572177(107572)Online publication date: Jan-2025
    • (2024)Simulation Approaches Used for Management and Decision Making in the Beef Production Sector: A Systematic ReviewAnimals10.3390/ani1411163214:11(1632)Online publication date: 30-May-2024
    • (2024)A Case for Feminism in Programming Language DesignProceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3689492.3689809(205-222)Online publication date: 17-Oct-2024
    • (2024)Learning to Detect and Localize Multilingual BugsProceedings of the ACM on Software Engineering10.1145/36608041:FSE(2190-2213)Online publication date: 12-Jul-2024
    • (2024)Profiling Programming Language LearningProceedings of the ACM on Programming Languages10.1145/36498128:OOPSLA1(29-54)Online publication date: 29-Apr-2024
    • (2024)How Are Multilingual Systems Constructed: Characterizing Language Use and Selection in Open-Source Multilingual SoftwareACM Transactions on Software Engineering and Methodology10.1145/363196733:3(1-46)Online publication date: 14-Mar-2024
    • (2024)Improving domain-specific neural code generation with few-shot meta-learningInformation and Software Technology10.1016/j.infsof.2023.107365166(107365)Online publication date: Feb-2024
    • (2024)Programming languages ranking based on energy measurementsSoftware Quality Journal10.1007/s11219-024-09690-432:4(1539-1580)Online publication date: 27-Jul-2024
    • (2023)How Domain Experts Use an Embedded DSLProceedings of the ACM on Programming Languages10.1145/36228517:OOPSLA2(1499-1530)Online publication date: 16-Oct-2023
    • (2023)Towards Causal Analysis of Empirical Software Engineering Data: The Impact of Programming Languages on Coding CompetitionsACM Transactions on Software Engineering and Methodology10.1145/361166733:1(1-35)Online publication date: 19-Aug-2023
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media