Just blogged about it
bsky.app/profile/cake...
Been working on this on and off since .NET preview 4, custom SDK together with source generator results in a really compelling end user storyπ
@jaredpar.bsky.social
C# compiler lead and all around paranoid coder
Just blogged about it
bsky.app/profile/cake...
Been working on this on and off since .NET preview 4, custom SDK together with source generator results in a really compelling end user storyπ
Hey friends! I did a TEDx talk and it's now up on the TED Conferences YouTube. It's possibly the best and most important talk I've ever done.
I would ask that you watch it, and please SHARE it broadly and widely. Thank you! youtu.be/dVG8W-0p6vg #AI #Tech #TED
It is so neat seeing tech like this built on top of the dotnet run app.cs work that we're doing.
17.07.2025 18:18 β π 8 π 3 π¬ 1 π 0"dotnet cake.cs"
#dotnet #cake #devops #itshappening #staytuned
Check out all the improvements to file-based apps (dotnet run app.cs) in preview.6 that went out today!
github.com/dotnet/core/...
Another STP (Seattle to Portland) bike ride in the books. Did it in two days this year so a bit more relaxing. 4th time doing this ride and still amazed at how gorgeous the landscape is on this route. #stp
14.07.2025 19:31 β π 10 π 0 π¬ 0 π 0`dotnet run file.cs` is coming:
Allows running C# source files with no need for an explicit backing project. We call these file-based programs (as opposed to project-based programs).
github.com/dotnet/sdk/b...
Congrats!
29.06.2025 23:25 β π 2 π 0 π¬ 0 π 0.NET Lab (lab.razor.fyi) now has Code Actions π Very useful when you paste some code snippet and want to add missing usings. But it can do much more - all Roslyn code fixes are included.
28.06.2025 10:22 β π 12 π 6 π¬ 0 π 0null is a reserved keyword in C#. Been that way since 1.0.
20.06.2025 23:54 β π 0 π 0 π¬ 1 π 0Giggling at the thought of some support team member at blue sky getting added to this thread and just seeing the type of horror you can do with C# and some creativity
20.06.2025 23:53 β π 4 π 0 π¬ 0 π 0Weird. Just checked and it's working on my computer.
20.06.2025 23:49 β π 1 π 0 π¬ 2 π 0Spoiler sharplab.io#v2:C4LglgNgP...
20.06.2025 23:48 β π 0 π 0 π¬ 1 π 0Can you make this ToString call throw a NullReferenceException with ZERO operator overloading, reflection tricks, etc ...?
20.06.2025 23:48 β π 0 π 0 π¬ 1 π 0There are over 145,000 uses of <LangVersion>latest</LangVersion> on GitHub alone. Whether or not it's a bad idea is somewhat irrelevant at this point because it's a popular one.
20.06.2025 22:51 β π 1 π 0 π¬ 1 π 0By a lot I mean hundreds of thousands of occurrences
github.com/search?q=%2F...
It would if you used <LangVersion>latest though and there are a lot of customers that do that.
20.06.2025 22:49 β π 0 π 0 π¬ 1 π 0Can have lots of fun when operator== doesn't return bool
sharplab.io#v2:C4LgTgrgd...
The type null converts is a struct that throws on the conversion operator
sharplab.io#v2:C4LgTgrgd...
There about 3x String compared to Object
20.06.2025 21:19 β π 1 π 0 π¬ 0 π 0That is the thing though, you do not have to explicitly opt in to use the preview SDK. Simply having the preview SDK on your path is enough to start using it. This is one of the big reasons why we require explicit opt in.
20.06.2025 21:04 β π 0 π 0 π¬ 1 π 0The current design means to use a preview language feature you must, in your code base, have <LangVersion>preview. That removes all ambiguity as to what you're taking a dependency on.
20.06.2025 20:23 β π 0 π 0 π¬ 1 π 0We also find it beneficial to require that teams say "preview" when using preview language features. The moment we tie preview work to latest or say 14.0 expectations get set that this is final. Any breaks, changes, etc ... result in push back.
20.06.2025 20:22 β π 0 π 0 π¬ 1 π 0The reason why is that we ship the same compiler in both the current SDK (presently 9.0.x) and the in development SDK (presently 10.0.x). Can't flip _latest_ langversion in one without impacting the other.
20.06.2025 20:19 β π 0 π 0 π¬ 1 π 0This gets changed typically around RC1 of the .NET SDK.
20.06.2025 20:17 β π 0 π 0 π¬ 1 π 0No: it's not form forks of runtime
20.06.2025 20:10 β π 0 π 0 π¬ 0 π 0There are ~21,000 definitions of String.
20.06.2025 20:10 β π 1 π 0 π¬ 2 π 0.NET repos on GitHub are 40 times more likely to use dynamic than define a type called String
20.06.2025 17:58 β π 4 π 0 π¬ 4 π 1