I love .NET and C#, and I think it is the best platform for writing software in many ways. C# was created to make it easier to write quality business software. And it has evolved to be better and better.
But there is one thing that still isn’t fixed with .NET: Cold starts.
In software development, cold starts refer to the amount of time an application takes to start up before it begins responding to user input.
Before the days of Java/C#, the time to start an application was less noticeable. Software platforms that perform just-in-time compiles (JIT) have an increased start time. This time is the cold start time mentioned above. Non-JIT platforms, such as Node.js, don’t suffer the cold start problem.
In .NET 7, cold starts will supposedly be greatly reduced. This is a must.
These cold start issues make .NET look bad. When other platforms like NodeJS don’t experience these problems, it is hard to recommend .NET. And when troubleshooting, these problems can be a major pain. It may make you regret your choices.
We shouldn’t have to fight these issues today. These issues shouldn’t exist today in production systems. We should be writing business software, not fighting cold start issues.
I hope that .NET 7’s AOT (ahead of time) deployment will greatly reduce these issues. AOT is very different from how .NET was built around JIT.
.NET 7’s AOT won’t solve all of the issues, there will still be a lot of potential problems, but hopefully, this is a step in the right direction.