jaredpar's Avatar

jaredpar

@jaredpar.bsky.social

C# compiler lead and all around paranoid coder

1,410 Followers  |  152 Following  |  217 Posts  |  Joined: 09.06.2023  |  1.5601

Latest posts by jaredpar.bsky.social on Bluesky

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πŸ‘

17.07.2025 18:55 β€” πŸ‘ 3    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Tech Promised Everything. Did it deliver? | Scott Hanselman | TEDxPortland
YouTube video by TEDx Talks Tech Promised Everything. Did it deliver? | Scott Hanselman | TEDxPortland

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

17.07.2025 17:37 β€” πŸ‘ 544    πŸ” 222    πŸ’¬ 47    πŸ“Œ 43

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
Video thumbnail

"dotnet cake.cs"

#dotnet #cake #devops #itshappening #staytuned

16.07.2025 14:39 β€” πŸ‘ 14    πŸ” 10    πŸ’¬ 1    πŸ“Œ 3

Check out all the improvements to file-based apps (dotnet run app.cs) in preview.6 that went out today!

github.com/dotnet/core/...

15.07.2025 17:53 β€” πŸ‘ 13    πŸ” 5    πŸ’¬ 2    πŸ“Œ 0
Post image

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...

09.04.2025 01:58 β€” πŸ‘ 213    πŸ” 46    πŸ’¬ 25    πŸ“Œ 8

Congrats!

29.06.2025 23:25 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

.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    πŸ“Œ 0
Preview
a man in a suit and tie is giving a thumbs up and saying `` exactly '' . ALT: a man in a suit and tie is giving a thumbs up and saying `` exactly '' .
20.06.2025 23:58 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
a cartoon of grinch with a very angry look on his face ALT: a cartoon of grinch with a very angry look on his face
20.06.2025 23:58 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

null is a reserved keyword in C#. Been that way since 1.0.

20.06.2025 23:54 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Giggling 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    πŸ“Œ 0

Weird. Just checked and it's working on my computer.

20.06.2025 23:49 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

Spoiler sharplab.io#v2:C4LglgNgP...

20.06.2025 23:48 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Can you make this ToString call throw a NullReferenceException with ZERO operator overloading, reflection tricks, etc ...?

20.06.2025 23:48 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

There 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    πŸ“Œ 0

By a lot I mean hundreds of thousands of occurrences

github.com/search?q=%2F...

20.06.2025 22:50 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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    πŸ“Œ 0
SharpLab C#/VB/F# compiler playground.

Can have lots of fun when operator== doesn't return bool

sharplab.io#v2:C4LgTgrgd...

20.06.2025 21:36 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
SharpLab C#/VB/F# compiler playground.

The type null converts is a struct that throws on the conversion operator

sharplab.io#v2:C4LgTgrgd...

20.06.2025 21:29 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

There about 3x String compared to Object

20.06.2025 21:19 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

That 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    πŸ“Œ 0

The 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    πŸ“Œ 0

We 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    πŸ“Œ 0

The 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    πŸ“Œ 0

This gets changed typically around RC1 of the .NET SDK.

20.06.2025 20:17 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

No: it's not form forks of runtime

20.06.2025 20:10 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

There 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

@jaredpar is following 19 prominent accounts