Anders Hejlsberg (creator of TypeScript) reacts to the 2025 Octoverse report

By GitHub

Share:

Key Concepts

  • TypeScript Self-Hosting: The practice of using TypeScript to compile itself.
  • Scalability: The ability of a system to handle a growing amount of work.
  • Shared Memory Concurrency: A programming model where multiple threads can access and modify the same memory space.
  • Go Programming Language: A statically typed, compiled language designed for simplicity and efficiency.
  • Open Source Funding: The challenge of financially supporting open-source projects.
  • GitHub History: The value of a long, searchable record of project development.
  • AI Code Generation: The ability of AI to write code, influenced by the data it has been trained on.
  • Deterministic Outcome: A predictable and consistent result from a process.
  • AI as a Supervisor: The shift in AI's role from assistant to a more autonomous agent.
  • MCP (Microsoft Language Server Protocol?): A framework for connecting language services to AI agents.

Project Evolution and Scalability Challenges

The speaker expresses surprise and gratitude at the massive adoption of their project, initially expecting only a 25% community interest. The project's success is attributed to its relevance to a large user base, highlighting the satisfaction of creating something impactful.

A significant challenge faced was scalability, driven by the ever-growing size of user projects. Initially, the project was self-hosted, meaning the TypeScript compiler and toolset ran as a JavaScript application. This approach, while innovative, reached its performance limits.

Transition to Go for Performance Gains

To address scalability issues, the team experimented with different languages, including C#. They ultimately chose Go for porting the compiler. This decision was motivated by the expectation of a 10x performance improvement, split between the benefits of native code and the advantages of shared memory concurrency. The speaker emphasizes that such a significant performance boost is impossible to ignore, as it drastically reduces task completion times (e.g., from minutes to seconds).

The new native code compiler is described as a "carbon copy" of the old one, preserving its functionality and even its quirks. This ensures that the existing community does not need to abandon their current workflows.

The Open Source Experiment and GitHub's Value

The speaker reflects on open source as a significant experiment, acknowledging the ongoing challenge of finding sustainable funding models. Despite this, open source is described as "bigger than ever" and continuing to grow. It's seen as a repository of captured knowledge and ability, though it also contains "noise" and unmaintained code.

GitHub is highlighted as a crucial platform, with 12 years of project history captured and searchable. This history is invaluable for tracking past discussions and issues. While acknowledging that search functionality could be improved, the speaker anticipates AI's potential contribution in this area. The enduring value and growth of this historical data are a source of great satisfaction.

AI and Programming Languages: A Data-Driven Relationship

The discussion shifts to the relationship between AI and programming languages. The speaker addresses the question of designing a "perfect programming language for AI." The core argument is that an AI's proficiency in a language is directly proportional to the amount of code it has encountered in that language. AI is characterized as a "big regurgitator" that extrapolates from existing data.

Since AI has been trained on vast amounts of JavaScript, Python, and TypeScript, it is highly adept at generating code in these languages. Therefore, the "best language for AI" is simply the one it has seen the most. This puts new programming languages at a disadvantage.

AI for Code Porting: Determinism vs. Hallucination

When it comes to large-scale code porting, such as migrating half a million lines of code, the need for deterministic outcomes is paramount. The speaker argues against using AI to directly translate code, as it can "hallucinate" and introduce errors that require meticulous examination of every line.

Instead, a more effective approach is to use AI to generate a program that assists in the porting process. Running such a program yields a deterministic outcome, ensuring accuracy. This is particularly relevant for migrating hundreds of pull requests from an old codebase to a new one, a task where AI has been used successfully due to the sufficient volume of existing code for AI to analyze and the advancements in AI capabilities.

The Evolving Role of AI in Development Tools

The role of AI in software development is evolving from an assistant to a more autonomous agent. Initially, AI aided developers by typing faster and completing code within an IDE, with the human remaining in control. Now, the AI is performing the work, and the human is supervising.

This shift implies that AI may not require traditional IDEs in the same way humans do. However, it still needs access to language services. This is where concepts like MCP become relevant, enabling AI to interact with language services, ask semantic or refactoring questions, and operate within defined workflows. This "LLM way" or "agent way" of development is poised to dramatically change development tools.

Chat with this Video

AI-Powered

Hi! I can answer questions about this video "Anders Hejlsberg (creator of TypeScript) reacts to the 2025 Octoverse report". What would you like to know?

Chat is based on the transcript of this video and may not be 100% accurate.

Related Videos

Ready to summarize another video?

Summarize YouTube Video