Creator of TypeScript: 10x Faster TypeScript, Why AI Won't Replace SWEs | Anders Hejlsberg
TypeScript's Native Port and AI-Assisted Engineering
Ryan Peterman interviews Anders Hejlsberg, the lead architect of TypeScript and creator of Turbo Pascal and C#, about TypeScript's native compiler port and the changing role of software engineers. Hejlsberg connects compiler architecture to coding-agent practice: preserve compatibility, use AI to build deterministic tools where correctness matters, give agents fast semantic feedback, and keep people responsible for the software they ship.
The reported 10x speedup, TypeScript adoption figures, and claims about what current models can or cannot build are first-party reports and practitioner judgments. The episode does not show benchmark methodology, independent measurements, or controlled model comparisons.
Key Points Covered
- Port instead of rewriting when compatibility is the product constraint: The team chose to preserve the existing compiler's algorithms, semantics, diagnostics, and edge-case behavior rather than redesign it. Go supplied native compilation, garbage collection, closures, and shared-memory concurrency without requiring the data-model changes a Rust port would have imposed ([00:07:05]-[00:13:52]).
- Use AI to produce a deterministic transformation, not an unrepeatable answer: The port began with manually written scanner and parser prototypes, then used a syntactic TypeScript-to-Go translator plus manual refactoring and limited AI assistance. Hejlsberg says a present-day version might ask AI to write the translation program, reducing the stochastic surface that engineers must validate ([00:14:55]-[00:19:06]).
- Compatibility can outweigh the appeal of a clean rewrite: Hejlsberg calls rewrites risky for ecosystems because they change behavior and transfer migration costs to users. In this case, the existing codebase and algorithms were assets to preserve, not debt to discard ([00:19:06]-[00:20:10]).
- AI may reinforce established languages: Models have seen more JavaScript, TypeScript, and Python than new or niche languages. Hejlsberg argues that this training-data advantage strengthens incumbents, while TypeScript's annotations and compiler checks help agents catch mistakes before runtime ([00:23:51]-[00:26:48]).
- Choose runtimes from measured workload constraints: Native code matters for the compiler's compute-intensive work, but Hejlsberg cautions against generalizing that choice to every backend. Framework fit and orchestration overhead can matter more than native execution, so teams should measure before switching languages ([00:26:48]-[00:29:53]).
- Fast semantic tooling improves agent throughput: Coding agents generate more edits and need repeated feedback. Faster type checking shortens that loop, while compiler and language-service semantics let agents make targeted changes that text search alone cannot safely support ([00:49:14]-[00:51:16]).
- Generated volume is not the same as novel, high-quality engineering: Hejlsberg expects AI to write a large share of common application code, but says the TypeScript team has not found it capable of producing their compiler's unfamiliar algorithms and architecture. This is the team's experience, not a general model evaluation ([00:51:16]-[00:54:19]).
- Engineers retain responsibility for agent output: Hejlsberg rejects the idea that developers can stop understanding code they vouch for. When software fails or harms a user, accountability remains with the people and organization that shipped it, not the model ([00:54:19]-[00:55:13]).
- For some programming roles, the junior tier may narrow and shift toward review: He argues that organizations still need a path from junior to senior engineer. Agents may reduce code typing and accelerate expectations, but developers must learn to supervise, review, and connect implementation to the business and system around it ([00:55:13]-[00:58:20]).
Full interview: https://www.youtube.com/watch?v=cywK3XYYJ2o(opens in a new tab)