More The Pragmatic Engineer episodes

TypeScript, C# and Turbo Pascal with Anders Hejlsberg thumbnail

TypeScript, C# and Turbo Pascal with Anders Hejlsberg

Published 13 May 2026

Duration: 01:15:09

Anders Heilsberg's contributions to programming languages like Turbo Pascal, Delphi, C#, and TypeScriptshaping design philosophies, developer tools, and .NETalongside discussions on AI's impact on coding, type systems, and the evolution of language innovation.

Episode Description

Brought to You By:Antithesis verify your systems correctness without human review or traditional integration tests and avoid bugs or outages.WorkOS Ev...

Overview

The podcast explores the contributions and insights of Anders Heilsberg, a pivotal figure in programming language development. He is noted for creating influential languages such as Turbo Pascal, Delphi, C#, and TypeScript, emphasizing his role in shaping developer tools and language design over four decades. Key projects discussed include the impact of the Sun vs. Microsoft Java lawsuit on C#'s creation, the significance of open-sourcing TypeScript and its alignment with Microsoft's internal workflows, and the evolution of language design principles, including the synergy between identifiers and programming constructs. The conversation also delves into the broader implications of AI on programming practices, including challenges in verifying AI-generated code and the need for robust verification methods as software complexity grows. Heilsberg reflects on his early programming experiences, starting with school computers in the 1970s and transitioning from game development to compiler design, highlighting foundational projects like the Pascal compiler predecessor and the development of Turbo Pascal with Borland, which revolutionized development environments with its integrated IDE and affordability.

The discussion further covers the evolution of Delphi, which transitioned from DOS text-based interfaces to Windows GUI applications, rivaling Visual Basic with rapid application development features and the VCL library. Industry trends emphasize the increasing complexity of testing in an AI-driven era, alongside the need for systematic verification of software correctness. The origins of .NET and C# are explored, focusing on their goal to create a language-independent runtime with managed code, garbage collection, and interoperability across languages. Compiler development challenges, such as the Roslin project unifying C#'s compiler and language service, and the design of asynchronous programming features influenced by state machine transformations, are highlighted. Additionally, the conversation touches on TypeScripts role as a superset of JavaScript, its tooling advancements through integration with Visual Studio Code and the Language Server Protocol, and the impact of language design choices on AI integration, including modularity and gradual typing. The dialogue also addresses the symbiotic relationship between AI and programming languages, emphasizing deterministic systems and the balance between developer productivity and tooling efficiency in evolving software development practices.

Recent Episodes of The Pragmatic Engineer

27 May 2026 Building OpenCode with Dax Raad

OpenCode's rapid growth to 10 million users highlights challenges like feature overload and AI's limited impact on development speed, while underscoring tensions between innovation, product cohesion, sustainable practices, and the complexities of AI-driven workflows in software engineering.

20 May 2026 Why Rust is different, with Alice Ryhl

Rust prioritizes memory safety and performance via ownership, borrow checking, and `unsafe` blocks without garbage collection, balancing robust governance, community-driven tools like Cargo and Tokio, safety features including null safety and exhaustive pattern matching, and ongoing efforts to simplify learning curves and integrate AI-driven development, while standing out in system programming compared to TypeScript, JavaScript, and C++.

29 Apr 2026 Building Pi, and what makes self-modifying software so fascinating

Pi, a minimalist self-modifiable AI coding agent for OpenClaw, examines engineering workflow challenges, ethical concerns, code quality issues, governance of non-expert contributions, and the evolving tension between AI-driven development, open-source ethics, and the enduring role of human expertise in software complexity.

22 Apr 2026 Designing Data-intensive Applications with Martin Kleppmann

The second edition of *Designing Data-Intensive Applications* updates its focus to cloud-native systems, serverless architectures, and data lakes while addressing distributed system challenges, ethical engineering, decentralized software, and emerging trends like AI integration and cryptographic supply chain applications.

8 Apr 2026 DHHs new way of writing code

David Heinemeier Hansson shifts from critiquing AI coding tools to embracing an AI-first approach at 37signals, emphasizing Ruby on Rails' token efficiency, Omachi's user-friendly design, AI-driven productivity, evolving developer roles, and the balance between automation and craftsmanship in software innovation.

More The Pragmatic Engineer episodes