Programming languages: Python overtakes Java on GitHub as Google Dart use soars

Developers love Python, Microsoft's GitHub says, also revealing the site's biggest open-source projects.

Python's rise asks questions of JavaScript's dominance Rise in queries driven by interest in Python and community of new programmers.

The hit programming language Python has climbed over once-dominant Java to become the second most popular language on Microsoft-owned open-source code-sharing site GitHub.

Python now outranks Java based on the number of repository contributors, and by that metric Python is now second only to JavaScript, which has been in top spot since 2014, according to GitHub's 'State of the Octoverse' report for 2019.   

That's quite a milestone for 30-year-old Python, whose creator Guido van Rossum retired this week after leaving his position at cloud file storage company Dropbox, which built most of its back-end services and desktop app on Python.  

Another interesting aspect of GitHub's report is its ranking of fastest-growing languages. Google's Dart programming language and Flutter, for building UIs for iOS and Android apps, are getting major traction with developers on GitHub. 

Dart was the fastest-growing language between 2018 and 2019, with usage up a massive 532%. It was followed by the Mozilla-developed Rust, which grew a respectable 235%. 

Microsoft is experimenting with Rust in its Windows code base because it was designed to address memory-related security bugs – the dominant flaw-type in Microsoft software over the past decade.     

Last year Kotlin, the Google-endorsed programming language for Android app development, was the fastest-growing language on GitHub. It's not a top-10 language yet, but it still grew 182% over the year. 

Microsoft-backed TypeScript, its superset of JavaScript, is also growing fast, up 161% over the past year as more developers use it to grapple with large-scale JavaScript apps.  

Other languages making up the top 10 fastest-growing category are HCL, PowerShell, Apex, Python, Assembly, and Go. 

  1. Dart 532%
  2. Rust 235%
  3. HCL 213%
  4. Kotlin 182%
  5. TypeScript 161%
  6. PowerShell 154%
  7. Apex 154%
  8. Python 151%
  9. Assembly 149%
  10. Go 147%

GitHub's top 10 fast-growing languages, 2018-2019. Source: GitHub

But the real champion in GitHub's report is Python, whose popularity is being propelled by data-science pros, hobbyists, and the wealth of data-science libraries, such as numpy, that allow developers to tailor Python code for machine-learning tasks. 

Part of Microsoft's motivation for recently launching free Python courses is to attract developers to its AI services on Azure.   

Another indication that data science is booming on GitHub is the growth of Jupyter Notebooks, an environment for writing and running code that supports Python, R, and Julia. 

GitHub has also been investing in security over the past few years, particularly in helping developers find and fix vulnerabilities in open-source software libraries or 'dependencies'. 

The company says its alerts helped developers fix over 7.6 million dependencies this year. It's also helped deliver over 209,000 automated fixes via its free Dependabot service that launched this May.   

The biggest open-source projects on GitHub these days have over 10,000 contributors. The biggest of them all by far is Microsoft Visual Studio Code, which has become a hugely popular development environment for Googlers

Visual Studio Code has 19,100 contributors.  Microsoft of course was the biggest contributor to open-source projects on GitHub before it acquired the company. 

Other projects with more than 10,000 contributors include documentation of Microsoft Azure, Flutter, and First Contributions.  

One final tidbit from the report concerns open source and the use of GitHub from countries that face US trade sanctions. GitHub earlier this year started restricting users from Crimea and Iran. The company is trying to "do no more than what is required" by US law.  

In July, it suggested that users from banned nations could use GitHub Enterprise Server, its paid-for on-premise version for hosting code privately. However, it's now illegal for GitHub to sell licenses for this product to banned countries. Users from nations facing US trade sanctions can still contribute to public repositories. 

According to GitHub's current FAQ on US trade sanctions

"GitHub Enterprise Server may not be sold to, exported, or re-exported to any country listed in Country Group E:1 in Supplement No. 1 to part 740 of the EAR or to the Crimea region of Ukraine. This list currently contains Cuba, Iran, North Korea, and Syria, but is subject to change."

These restrictions do pose a problem for GitHub's growth prospects. As it notes in the Octoverse report: "Iranian developers had the second-highest growth in open-source projects created in public repositories."

githuboctoverse19languages.jpg

The chart of top programming languages on GitHub over the past five years shows Python's rising popularity.   

Image: GitHub

More on Python and programming languages

  • Python programming language creator retires, saying: 'It's been an amazing ride'
  • Programming languages: How Instagram's taming a multimillion-line Python monster
  • Salesforce: Why we ditched Python for Google's Go language in Einstein Analytics  
  • Python-inspired Nim: Version 1.0 of the programming language launches
  • Microsoft TypeScript 3.7: Programming language beta lands with all these features
  • Google: Take our free Kotlin programming language courses to build Android apps
  • Microsoft: We want you to learn Python programming language for free
  • Google: Dart 2.5 programming language SDK will 'supercharge' developers
  • Raspberry Pi gets MIT's Scratch 3 programming language for Raspbian
  • Julia programming language: Users reveal what they love and hate the most about it
  • Programming language Python's 'existential threat' is app distribution: Is this the answer?
  • Is Julia fastest-growing new programming language? Stats chart rapid rise in 2018
  • Python vs R for data science: Professor rates programming language rivals
  • Programming languages: Python predicted to overtake C and Java in next 4 years 
  • Netflix: Python programming language is behind every film you stream
  • Is Julia the next big programming language? MIT thinks so, as version 1.0 lands TechRepublic
  • Mozilla's radical open-source move helped rewrite rules of tech CNET