Programming language popularity over time, as measured by the # of git push
to Github:
languages.csv
data through 2024 Q3 was sourced from https://github.com/github/innovationgraph/blob/main/data/languages.csv on 2024-03-23 around 11pm PT.
I also create a new Issue https://github.com/github/innovationgraph/issues/47 to ask for more recent data (2024 Q4, 2025 Q1, etc.).
Filterting https://madnight.github.io/githut/#/pushes/2024/1, which is powered by https://github.com/madnight/githut, for “PUSHES” through 2024 Q1 tells a very different story about language trends. For example, consider 2024 Q1. Github’s languages.csv
has JavaScript at 18% of pushes versus @madnight’s data source has JavaScript at 11% of pushes. Why the large discrepancy?:
I created https://github.com/madnight/githut/issues/120 to ask @madnight if he has any insights on this.
python -m venv .venv
source .venv/bin/activate
pip install pandas matplotlib
The SQLite database provides faster querying capabilities for the analysis:
# Activate the virtual environment if not already activated
source .venv/bin/activate
# Convert CSV to SQLite database
python csv_to_sqlite.py
This will create a languages.db
file with a languages
table containing all the data from the CSV.
To create the language trends visualization:
# Activate the virtual environment if not already activated
source .venv/bin/activate
# Run the visualization script
python language_trends.py
This will create the language_trends.png
file showing programming language popularity trends over time.