Skip to content

bmaupin/langtrends

Repository files navigation

CI License


About

Simple charts showing programming language trends

Why?

I like to keep up with programming languages and see how their adoption is changing over time. Unfortunately I wasn't happy with many of the existing sites for a number of reasons:

  • Most sites include markup/data formats (HTML, JSON, etc) and domain-specific languages (SQL, MATLAB, Bash, etc), which feels odd to me and helped me realize what I really wanted was a comparison of general-purpose programming languages
  • Some sites have odd ways of gathering data that result in questionable rankings; for example, TIOBE ranked Groovy as the #10 language in January 2021
  • Sites that do have nicer rankings are often only updated quarterly (RedMonk, GitHut 2.0)
  • RedMonk has a nice visualization but it only reflects one point in time and doesn't show changes over time
  • GitHut hasn't been updated since 2014

Having said that, many of those sites have specific advantages over this project:

  • TIOBE and RedMonk both offer additional analysis on the data
  • GitHut and GitHut 2.0 have data for multiple GitHub metrics, such as pushes, issues, etc

This project has also been a place for me to learn or refresh my knowledge on specific technologies (React, TypeScript, sql.js-httpvfs, LoopBack, Grails, etc)

Built with

Development

  1. (Optional) Host the data locally

    1. Check out https://github.com/bmaupin/langtrends-data

    2. Run npm run dev in that project

  2. Create .env.development file and set REACT_APP_API_BASE_URL

    • Use local data:

      REACT_APP_API_BASE_URL='http://localhost:4000'

    • Or use the data hosted on GitHub

      REACT_APP_API_BASE_URL='https://bmaupin.github.io/langtrends-data/data'

  3. Run this app

    npm install
    npm run dev
    

Deploying

  1. Create .env.production file and set REACT_APP_API_BASE_URL

  2. Deploy

    npm run deploy