This post is my summary of a talk taken from NDC 2020 London titled “Lowering in C#: What’s really going on in your code?” by David Wengier. Full YouTube video is embedded at the bottom of this post.
So, what is “lowering” ?
After finished watching the video, I think I have different opinion. I propose a new definition, and you can quote me on this 😛
“Lowering” is the art of sacrificing code readability
for the sake of squeezing out tiny performance improvement.
Or in the more specific C# context:
“Lowering” is the art of programming like it was in
Visual Studio Professional 2008 using Visual Studio Professional 2019 😀
In more serious note. The video is very good source of information to know, that some modern C# language advancement is actually a “wrapper” to encapsulate a complex/tedious steps, and make it easier to use in lesser lines of code.
Full video below: