Skip to content

hasseneafif/coding-technologies-prediction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tech Radar 2028 — forecasting which technologies are the future

Tech Radar

A probabilistic model that forecasts which programming languages, frameworks, databases and tools are rising, plateauing, or fading — and quantifies the uncertainty. It learns from a decade of developer-adoption data and projects each technology forward with a Monte Carlo simulation.

adoption level × momentum × leading indicator → simulated forward to 2028

The key idea is the leading indicator: the Stack Overflow survey asks both what developers use today and what they want to use next year. When desire runs ahead of usage, adoption tends to follow — that's what flagged Python, Rust and TypeScript years before they peaked.

Results — forecast to 2028

Survey data through 2025, 20,000 Monte Carlo simulations per technology. Full table in outputs/tech_radar.csv; explore it interactively in dashboard.html.

Headline: the model projects Python overtakes JavaScript as the world's most-used language by 2028 (Python 57% → 61%, JavaScript 65% → 59%), and Rust tops the "future" ranking on the strength of the highest desire ratio in the dataset.

Rising — the technologies of the future

Technology Category Now 2028 Growth P(rising)
Rust language 15% 25% 1.74x 92%
DuckDB database 3% 17% 6.49x 100%
Go language 16% 24% 1.50x 94%
Podman tool 8% 22% 2.68x 97%
Vite tool 19% 31% 1.63x 96%
TypeScript language 43% 55% 1.28x 79%
FastAPI web 11% 19% 1.78x 100%
Zig language 2% 8% 3.84x 100%
Supabase database 6% 14% 2.42x 100%
Hugging Face Transformers mlops 3% 10% 3.03x 100%

Declining

Technology Category Now 2028 Growth P(rising)
Heroku cloud 4% 2% 0.37x 4%
Webpack tool 14% 10% 0.70x 0%
Yarn tool 16% 11% 0.72x 17%
jQuery web < 1x low
MySQL database 33% 25% 0.78x 3%
Objective-C language 2% 2% 0.76x 19%

The story is consistent with where the industry is visibly heading: Rust/Go/Zig in systems, TypeScript displacing JavaScript, FastAPI + Hugging Face riding the AI wave, DuckDB/Supabase in data, Podman replacing Docker tooling — while Webpack→Vite, Yarn→npm/pnpm, Heroku and jQuery fade.

How it works

  1. Adoption panel (src/data/ingest_survey.py) — the Stack Overflow Developer Survey (2017–2025) gives, per technology per year, the share of developers who use it and who want to use it. Column names changed across years; the loader detects the "used" vs "want" columns automatically and maps raw names to a canonical taxonomy (src/data/taxonomy.py).
  2. External signals (src/data/fetch_packages.py, fetch_github.py) — npm download trends, PyPI volume and GitHub repo counts corroborate the survey momentum and cover fast-movers the annual survey lags on. All no-auth, best-effort.
  3. Trend model (src/models/trend.py) — per technology, it derives the current level, a damped momentum (recent log-growth, blended with package growth), the desire ratio (want ÷ use), and a volatility from the tech's own history.
  4. Monte Carlo (src/simulate/montecarlo.py) — 20,000 forward simulations per technology. Each year's growth = damped momentum + a fading leading-indicator premium + a random shock. Aggregating the final-year distribution gives a projected adoption with an 80% credible interval, a P(rising), and a Rising / Stable / Declining label.
  5. LLM news layer (src/news/, optional) — OpenAI reads recent headlines per technology and emits a bounded momentum nudge (a major release, a license change, an AI-framework breakout) — the same news-as-prior pattern as the sibling projects. It tilts the forecast; it never overrides the data.
  6. Interactive dashboard (make_dashboard.pydashboard.html) — a single, self-contained HTML file (data embedded, charts via Plotly): pick any technology to see its history and forecast fan, sort/filter the ranking, toggle the news layer, and read the radar quadrant. No server, no install — just open it.

Quickstart

pip install -r requirements.txt

python run_all.py            # fetch data + signals, build panel, run the forecast
# or step by step:
python -m src.data.fetch_survey       # auto-download SO survey (Git LFS) -> data/raw/
python -m src.data.ingest_survey      # -> data/interim/survey_panel.pkl
python -m src.data.fetch_packages     # npm + PyPI signals (optional)
python -m src.data.fetch_github       # GitHub repo counts (optional; set GITHUB_TOKEN)
python -m src.data.combine            # -> data/interim/panel.pkl
python -m src.simulate.montecarlo 20000   # -> outputs/tech_radar.csv

python run_all.py --news     # also run the OpenAI news layer (needs OPENAI_API_KEY)

python make_dashboard.py     # -> dashboard.html (standalone interactive demo)
python make_image.py         # -> LINKEDIN_IMAGE.html  (then render.py for the PNG)

run_all.py builds dashboard.html and the image at the end automatically. Open dashboard.html in any browser — no server required.

Data

  • Stack Overflow Annual Developer Survey, 2017–2025 — the multi-year adoption panel, fetched automatically from the public StackExchange/Survey repo (stored with Git LFS; src/data/fetch_survey.py resolves and downloads it — no manual step, no Kaggle token). Licensed CC BY-SA; raw files are git-ignored.
  • npm (api.npmjs.org), PyPI (pypistats.org), GitHub (search API) — no-auth popularity signals.

Why this design

  • Forecast, not a snapshot. Anyone can rank what's popular now; the survey's want-vs-use gap is a genuine leading indicator, and the Monte Carlo turns it into calibrated probabilities with intervals instead of a single guess.
  • Multi-source. Survey adoption is the backbone; package and repo signals catch fast-movers between annual surveys.
  • Honest uncertainty. Every projection ships with an 80% interval and a P(rising) — no false precision.

Known limitations / next steps

  • The survey skews toward its respondent base (heavily web/English-speaking) and is annual, so it lags sudden shifts — which is exactly what the package signals and news layer are for.
  • Adoption ≠ quality or pay. This forecasts usage trajectory, not whether you should learn something.
  • Categories are a curated taxonomy; niche or brand-new tech with <3 years of data is held out of the confident ranking rather than guessed at.

About

Tech Radar : Prediction for the future of coding technologies (Frameworks/languages etc)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors