Industry Commentary

AI Is Quietly Picking Your Programming Language

GitHub data reveals a feedback loop where AI coding tools drive language adoption, which generates more training data, which makes the AI better — and TypeScript is the first big winner.

By John Jansen · · 5 min read

Share

Something odd happened in the GitHub Octoverse 2025 report. TypeScript didn't just grow — it surged 66% year-over-year to become the most-used language on GitHub, overtaking both Python and JavaScript with 2.6 million monthly contributors. That's the biggest language ranking shift in over a decade.

The obvious explanation is that TypeScript is popular because it's good. That's true, but it misses what's actually driving this. The real story is a feedback loop that GitHub developer advocate Andrea Griffiths calls a "convenience loop" — and it's about to reshape how every engineering team thinks about their stack.

The loop

Here's how it works:

  1. AI coding tools generate better code in strongly typed languages (more on why in a moment)
  2. Developers notice that AI feels more useful when writing TypeScript than, say, plain JavaScript
  3. More developers choose TypeScript for new projects
  4. Those projects generate more TypeScript training data
  5. The AI gets even better at TypeScript
  6. Go to step 2

This isn't speculation. Eighty percent of new developers on GitHub now use Copilot within their first week. For an entire generation of engineers, AI assistance isn't a plugin they added later — it's the baseline. And when the AI works better in one language, that language feels easier. That perception becomes a choice, and at scale, choices become trends.

Why types win

There's a concrete technical reason AI performs better with typed languages, and it's not about training data volume.

When you write x: string in TypeScript, you've just eliminated every operation that doesn't work on strings. The type annotation is a constraint that narrows the space of valid completions. For a language model generating code token by token, that constraint is enormously valuable — it's the difference between choosing from ten thousand possible next tokens and choosing from fifty.

A 2025 study on type-constrained code generation found that 94% of compilation errors in LLM-generated code are type-check failures — not syntax errors, not logic errors, but type mismatches. Only 6% are syntactic. The type system is doing the heavy lifting that the model cannot.

Dynamic languages offer no such guardrails. When every variable could be anything, the model has to infer intent from context alone. It still works — just less reliably. And "less reliably" compounds across a codebase.

What this means for your stack

This isn't an argument that everyone should use TypeScript. It's an observation that AI tools are becoming an invisible hand in technology selection, and most teams haven't noticed.

Consider: Python's share on GitHub dipped from a peak of 27% in mid-2025 to under 22% by February 2026. Python remains dominant for AI/ML work — nearly half of new AI repositories still start with Python. But in application development, the convenience loop is pulling developers toward languages where AI assistance feels most productive.

Rust and Go, both strongly typed, are seeing similar tailwinds. The pattern isn't "TypeScript wins" — it's "type systems win when AI writes your code."

If you're making stack decisions for a team in 2026, the question isn't just "which language do our engineers know?" It's also "which language will our engineers be most productive in when half their code comes from an AI pair programmer?" That's a different question, and it has different answers.

The second-order effects

The convenience loop has implications beyond language choice.

Hiring shifts. If TypeScript proficiency correlates with AI-assisted productivity, hiring pipelines will follow. We're already seeing this in job postings.

Framework selection. Frameworks in typed ecosystems get better AI support. This creates another loop — typed frameworks attract more AI-assisted development, which generates more training data for those frameworks.

Legacy modernisation. Codebases in dynamic languages won't suddenly become unworkable. But the productivity gap between a team writing TypeScript with AI assistance and a team writing vanilla JavaScript without it will widen. That gap becomes a business argument for migration.

Training data moats. The most popular languages accumulate the most training data, making AI even better at them. Niche languages face a real risk: not enough AI-generated code to sustain the loop, leading to a slow drain of developer attention.

The uncomfortable part

There's something unsettling about a feedback loop where tooling preferences shape language ecosystems. Programming language choice used to be driven by runtime performance, ecosystem maturity, team expertise, and hiring markets. Those factors still matter. But we're adding a new one — AI compatibility — and it might end up outweighing the others.

GitHub now has over 180 million developers and processes nearly a billion commits a year. When 80% of new developers start with AI assistance, the convenience loop isn't a niche effect. It's a structural force in software engineering.

The teams that recognise this early won't necessarily switch languages. But they'll make more deliberate choices about where AI assistance fits into their workflow, which languages and frameworks maximise that assistance, and how to structure their codebases so the AI can actually help.

That's a more interesting conversation than "TypeScript is number one."

Want to discuss this?

We write about what we're actually working on. If this is relevant to something you're building, we'd love to hear about it.