Dustin Campbell: C# 13 – Episode 339

Challenges

  • Keeping up with the evolving features and enhancements in C# 13
  • Ensuring compatibility of new language features with existing .NET versions
  • Understanding the impact of AI on developer productivity and tooling

Solutions

  • Insights from Dustin Campbell on the latest advancements in C# 13 and their practical applications
  • Guidance on leveraging new C# features while maintaining compatibility with older .NET frameworks
  • Discussion on the integration of AI in development tools and its future implications

Benefits

  • Enhanced knowledge of C# 13 features leading to improved coding practices
  • Ability to adopt new language features without disrupting existing projects
  • Preparation for the evolving role of AI in software development

Dustin is a Principal Software Engineer at Microsoft. He works on enhancing .NET tooling and contributing to the design of the next version of C# as part of the language design team. Prior to his current role, he spent several years working as a program manager on Project Roslyn. He also contributed in a strong way to the Razor UI framework. He recently presented a session at .NET Conf 2024 on What’s new in C# 13.

Topics of Discussion:
[04:04] Fun fact: Dustin has a jazz guitar performance degree!
[03:39] The unique appeal of C#.
[05:06] Evolution of C# and its features.
[10:48] Impact of Async and Await on C#.
[13:17] The compatibility of C# 13 with older .NET versions, specifically .NET 8.
[15:04] How developers can leverage the latest C# features while still targeting older .NET frameworks, and the challenges associated with runtime support for new language capabilities.
[17:04] Hacking the C# compiler.
[17:28] The evolution of records from their initial introduction to the added features.
[18:46] Records vs. Classes in C#.
[22:51] AI’s influence on developer productivity.
[25:46] The future of AI developer tools.
[33:26] The need for better support for testing with large language models and other AI-driven dependencies.