C# & Typescript - History of languages with Anders Hejlsberg
An interview about the trade-offs that help languages and commands last a long time.
Source
C# & Typescript - History of languages with Anders Hejlsberg
GitHub interview with Anders Hejlsberg.
What is the interview about?
Anders Hejlsberg tells the story of C# and TypeScript: how the languages are born, the trade-offs they make, and why long-lived technologies benefit not just from their syntax, but also from the engineering principles around them.
This is a conversation about the speed of feedback, pragmatics when growing an audience, evolution without breaking the ecosystem, and a transparent history of decisions.
Key ideas and insights
Fast feedback is more important than almost everything
TypeScript is valuable not only for its types, but also for its fast cycle: hints, checking, refactoring.
Scale requires pragmatism
A successful language is one that fits into how teams actually work, not just an ideal.
Evolution is stronger than revolution
TypeScript grows as a superset of JavaScript without breaking the ecosystem.
Transparency accelerates open source
Public PR and issue shift priorities to real needs.
Jerk inside without breaking the contract
It is possible to rewrite the kernel for the sake of speed if compatibility remains.
The era of AI increases the value of insurance
Types, checks, and tests become defenses against plausible errors.
Project memory is an asset
Decision history reduces repetition of errors and speeds up onboarding.
Practical conclusions
For engineers
- Invest in a fast cycle: local checks, quick tests, linters, IDE tools.
- Write for collective ownership: predictability is more important than personal elegance.
- Learn from the context of decisions: discussions in issue/PR are often more useful than abstract best practices.
- When working with AI code, strengthen your insurance: typing + statistical analysis + tests.
For technical leaders
- Feedback speed - engineering system KPIs: CI, tests, statistical analysis, quick builds.
- Balance interests: standards and compatibility are more important than the taste of individual engineers.
- Implement changes through migrations and compatibility, not through wholesale replacement.
- Build institutional memory: ADR, reasons for compromises, links to discussions.
Speaker and context
The history of C# and TypeScript shows that successful technologies thrive on speed, pragmatic compromise, and transparent evolution.

