C# Advent: No one loves the .NET Core name anymore
A historical look at the evolution of the ".NET Core" name, tracing its usage from the .NET Compact Framework to modern cross-platform .NET.
Blog.stephencleary.com is the personal blog of Stephen Cleary, a well known .NET expert and author of the popular book Concurrency in C# Cookbook. He writes clear and detailed articles about asynchronous programming, multithreading, concurrency, task based workflows, .NET architecture, performance, and best practices. His posts explain how async and await really work, how to design thread safe code, how to avoid deadlocks, and how to build scalable back end systems using modern .NET patterns. Stephen focuses on practical engineering problems and gives precise guidance backed by real production experience. His blog is widely referenced by developers who want to understand the internals of concurrency on .NET and write reliable, high performance applications.
9 articles from this blog
A historical look at the evolution of the ".NET Core" name, tracing its usage from the .NET Compact Framework to modern cross-platform .NET.
Explains linked cancellation tokens in C#, showing how to create a token that cancels when any of multiple source tokens are canceled.
Explains how to use cancellation token registration in .NET for asynchronous operations, including callback handling and resource cleanup.
A video series on designing TCP/IP application protocols, featuring a live-coded chat server using modern .NET APIs.
Exploring the joy of using immutable update patterns in C#, covering modern language features like switch expressions and records.
Explores the new ConfigureAwait enhancements in .NET 8.0, discussing its history, usage guidelines, and evolving best practices for async/await.
Explores techniques for adding padding to C# structs overlaid on memory-mapped files, including using inline arrays in .NET 8.
A guide to using memory-mapped files and overlaid structs in C# for efficient file I/O operations.
Explains Retrieval Augmented Generation (RAG) for using ChatGPT with custom data, including a C# implementation sample.