Measuring programming language popularity

Last updated

It is difficult to determine which programming languages are "most widely used" because the meaning of the term varies by context. One language may occupy the most programmer-hours, another may have the most lines of code, a third may utilize the most CPU time, and so on. Some languages are very popular for particular kinds of applications: for example, Python for machine learning, Java for backend server development, C in embedded applications and operating systems; JavaScript in web development and other languages for many kinds of applications.

Contents

Methods

Various counts have been proposed to indicate a language's popularity, each subject to a different bias over what is measured. These counts include the number of:

Indices

Different Indices calculate a programming language's popularity based on different metrics. For example: The IEEE Spectrum publishes the rankings by taking the data points from an array of matrices including Google, GitHub, Reddit, and Twitter to calculate the overall rank for the 2021 list with keeping in the account factors like job demands, Reliability, and Current trends that sum up to say Python is the top programming language of 2021. [12] Several indices have been published:

Related Research Articles

<span class="mw-page-title-main">Python (programming language)</span> General-purpose programming language

Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation.

<span class="mw-page-title-main">Guido van Rossum</span> Dutch programmer and creator of Python

Guido van Rossum is a Dutch programmer best known as the creator of the Python programming language, for which he was the "benevolent dictator for life" (BDFL) until he stepped down from the position on 12 July 2018. He remained a member of the Python Steering Council through 2019, and withdrew from nominations for the 2020 election.

<span class="mw-page-title-main">Notepad++</span> Text editor and source code editor for Windows

Notepad++ is a free and open-source text and source code editor for use with Microsoft Windows. It supports tabbed editing, which allows working with multiple open files in a single window. The product's name comes from the C postfix increment operator; it is sometimes referred to as npp or NPP.

<span class="mw-page-title-main">Git</span> Software for version control of files

Git is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers who are collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows.

<span class="mw-page-title-main">Markdown</span> Plain text markup language

Markdown is a lightweight markup language for creating formatted text using a plain-text editor. John Gruber created Markdown in 2004 as a markup language that is appealing to human readers in its source code form. Markdown is widely used in blogging, instant messaging, online forums, collaborative software, documentation pages, and readme files.

Programming languages are used for controlling the behavior of a machine. Like natural languages, programming languages follow the rules for syntax and semantics.

Coding conventions are a set of guidelines for a specific programming language that recommend programming style, practices, and methods for each aspect of a program written in that language. These conventions usually cover file organization, indentation, comments, declarations, statements, white space, naming conventions, programming practices, programming principles, programming rules of thumb, architectural best practices, etc. These are guidelines for software structural quality. Software programmers are highly recommended to follow these guidelines to help improve the readability of their source code and make software maintenance easier. Coding conventions are only applicable to the human maintainers and peer reviewers of a software project. Conventions may be formalized in a documented set of rules that an entire team or company follows, or may be as informal as the habitual coding practices of an individual. Coding conventions are not enforced by compilers.

<span class="mw-page-title-main">Glitch (New York company)</span> American software company

Glitch was a software company specializing in project management tools. Its products included project management and content management, and code review tools. Fastly acquired the company in 2022.

Svelte is a free and open-source front-end component framework and language created by Rich Harris and maintained by the Svelte core team members. Svelte is not a monolithic JavaScript library imported by applications: instead, Svelte compiles HTML templates to specialized code that manipulates the DOM directly, which may reduce the size of transferred files and give better client performance. Application code is also processed by the compiler, inserting calls to automatically recompute data and re-render UI elements when the data they depend on is modified. This also avoids the overhead associated with runtime intermediate representations, such as virtual DOM, unlike traditional frameworks which carry out the bulk of their work at runtime, i.e. in the browser.

Protocol Buffers (Protobuf) is a free and open-source cross-platform data format used to serialize structured data. It is useful in developing programs that communicate with each other over a network or for storing data. The method involves an interface description language that describes the structure of some data and a program that generates source code from that description for generating or parsing a stream of bytes that represents the structured data.

<span class="mw-page-title-main">TIOBE index</span> Measure of popularity of programming languages

The TIOBE programming community index is a measure of popularity of programming languages, created and maintained by TIOBE Software BV, based in Eindhoven, the Netherlands. TIOBE stands for The Importance of Being Earnest, the title of an 1895 comedy play by Oscar Wilde, to emphasize the organization's "sincere and professional attitude towards customers, suppliers and colleagues".

<span class="mw-page-title-main">Redis</span> Open-source in-memory key–value database

Redis is an open-source in-memory storage, used as a distributed, in-memory key–value database, cache and message broker, with optional durability. Because it holds all data in memory and because of its design, Redis offers low-latency reads and writes, making it particularly suitable for use cases that require a cache. Redis is the most popular NoSQL database, and one of the most popular databases overall. Redis is used in companies like Twitter, Airbnb, Tinder, Yahoo Adobe, Hulu, and Amazon.

CommonJS is a project to standardize the module ecosystem for JavaScript outside of web browsers.

<span class="mw-page-title-main">Snake case</span> Words joined with underscores

Snake case is the style of writing in which each space is replaced with an underscore (_) character, and the first letter of each word is written in lowercase. It is a commonly used naming convention in computing, for example for variable and subroutine names, and for filenames. One study has found that readers can recognize snake case values more quickly than camel case. However, "subjects were trained mainly in the underscore style", so the possibility of bias cannot be eliminated.

<span class="mw-page-title-main">Julia (programming language)</span> Dynamic programming language

Julia is a high-level, general-purpose dynamic programming language. Its features are well suited for numerical analysis and computational science.

<span class="mw-page-title-main">Visual Studio Code</span> Source code editor developed by Microsoft

Visual Studio Code, also commonly referred to as VS Code, is a source-code editor made by Microsoft with the Electron Framework, for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git. Users can change the theme, keyboard shortcuts, preferences, and install extensions that add functionality.

<span class="mw-page-title-main">WebAssembly</span> Cross-platform assembly language and bytecode designed for execution in web browsers

WebAssembly defines a portable binary-code format and a corresponding text format for executable programs as well as software interfaces for facilitating interactions between such programs and their host environment.

<span class="mw-page-title-main">JSFiddle</span> Online service for web development

JSFiddle is an online IDE service and online community for testing and showcasing user-created and collaborational HTML, CSS and JavaScript code snippets, known as 'fiddles'. It allows for simulated AJAX calls. In 2019, JSFiddle was ranked the second most popular online IDE by the PopularitY of Programming Language (PYPL) index based on the number of times it was searched, directly behind Cloud9 IDE, worldwide and in the USA.

FastAPI is a modern web framework for building RESTful APIs in Python. It was first released in 2018 and has quickly gained popularity among developers due to its ease of use, speed and robustness. FastAPI is based on Pydantic and uses type hints to validate, serialize, and deserialize data. It also automatically generates OpenAPI documentation for APIs built with it.

References

  1. "SSL/Computer Weekly IT salary survey: finance boom drives IT job growth". ComputerWeekly.com. September 2007. Retrieved 14 June 2013.
  2. "Jobs Tractor language trends, based on jobs advertised on Twitter". JobsTractor. Archived from the original on 29 June 2013. Retrieved 14 June 2013.
  3. "Most Popular Programming Languages 2021 Statistics". Self-Starters. Retrieved 10 October 2021.
  4. Bieman, J.M.; Murdock, V., Finding code on the World Wide Web: a preliminary investigation, Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation, 2001
  5. "Tiobe Index Definition". TIOBE Software. Retrieved 10 April 2012.
  6. "Programming Language Usage Graph". Wismuth.com. 31 October 2010. Retrieved 14 March 2017.
  7. "Trends for the Future". Catb.org. Retrieved 14 March 2017.
  8. "Language Trends on GitHub · GitHub". github.com. 19 August 2015. Retrieved 14 March 2017.
  9. "Programming language popularity". Complang.tuwien.ac.at. Retrieved 14 March 2017.
  10. "Compare Languages". Open Hub . Retrieved 20 January 2017.
  11. 1 2 3 4 "Which programming languages are most popular (and what does that even mean)?". ZDNet. Retrieved 16 October 2018.
  12. "Top 10 Programming languages for 2021: IEEE Says Learn Python" . Retrieved 7 September 2021.
  13. 1 2 "TIOBE Programming Community Index". TIOBE Software BV.
  14. 1 2 3 "PYPL PopularitY of Programming Language index". Pypl.github.io. 22 November 2013. Retrieved 14 March 2017.
  15. O'Grady, Stephen (19 February 2016). "The RedMonk Programming Language Rankings: January 2016". Redmonk.com. Retrieved 14 March 2017.
  16. O'Grady, Stephen (5 August 2021). "The RedMonk Programming Language Rankings: June 2021". tecosystems.
  17. "Trendy Skills". Trendy Skills. 20 January 2012. Retrieved 14 March 2017.
  18. "The Most Popular Programming Languages of 2016". Blog.newrelic.com. Archived from the original on 26 January 2017. Retrieved 14 March 2017.
  19. "Stack Overflow Developer Survey 2021". Stack Overflow.
  20. 1 2 "Top Programming Languages 2021". IEEE Spectrum.
  21. "IEEE Top Programming Languages: Design, Methods, and Data Sources". IEEE Spectrum. 22 July 2020.
  22. Cass, Stephen (24 August 2021). "Top Programming Languages 2021". IEEE Spectrum.