Aleksandr Shvedov (@controlflow) 's Twitter Profile
Aleksandr Shvedov

@controlflow

I work on JetBrains .NET IDEs (Rider & ReSharper) · Mostly about IDE tooling · Drones · 3D printing · Opinions are mine

ID: 37452231

calendar_today03-05-2009 16:57:26

56,56K Tweet

2,2K Followers

854 Following

Aleksandr Shvedov (@controlflow) 's Twitter Profile Photo

Yes! Prior to C# 9.0, it was not possible to provide `_` as a name for two or more lambda parameters to indicate discarding of the parameter values. And that talented developer found the (triple) underscore-like thing that is also a valid C# identifier, the Ξ character 🥲

Aleksandr Shvedov (@controlflow) 's Twitter Profile Photo

I wonder if there are any modern/popular programming languages that have already changed or are planning to adopt some language feature that is somehow connected to the presence of LLMs?

Aleksandr Shvedov (@controlflow) 's Twitter Profile Photo

damn sometimes I hate MSBuild so much. Cleared obj\ and now everything works after hours of messing with csproj. NuGet Source-only packages authoring experience is awful :((

Aleksandr Shvedov (@controlflow) 's Twitter Profile Photo

Asked LLM for a short PowerShell script to prepend each file's name with a "test" prefix... well, technically, the result fits the prompt...

Asked LLM for a short PowerShell script to prepend each file's name with a "test" prefix... well, technically, the result fits the prompt...
Aleksandr Shvedov (@controlflow) 's Twitter Profile Photo

Windows Spotify app stopped working for no apparent reason. Process not responding, no UI. Even after a full reinstall, damn! Decided to use the web version temporarily... Web version:

Aleksandr Shvedov (@controlflow) 's Twitter Profile Photo

Language designer: our language is designed with an IDE support in mind, from the day one. Language with "an IDE support in mind": struggles to find the usages of the record's property... interactively (!!) prompts to exclude some language constructs from the search. WTF!

Language designer: our language is designed with an IDE support in mind, from the day one.

Language with "an IDE support in mind": struggles to find the usages of the record's property... interactively (!!) prompts to exclude some language constructs from the search. WTF!
Aleksandr Shvedov (@controlflow) 's Twitter Profile Photo

Before C# 14, there were just a few rare erasure conflicts in C#, like when u define overloads differing only by `ref` /`out`. With C# 14 extensions, we are one step closer to Java, with its stupid "have the same erasure" conflicts

Before C# 14, there were just a few rare erasure conflicts in C#, like when u define overloads differing only by `ref` /`out`. With C# 14 extensions, we are one step closer to Java, with its stupid "have the same erasure" conflicts
Aleksandr Shvedov (@controlflow) 's Twitter Profile Photo

Surprised to learn that JVM has no equivalent of .NET's DependentHandle/ConditionalWeakTable... I wonder how JVM folks solve rare, but sometimes valid scenario of "attaching" the "extra data" to objects, while keeping the "extra data" alive until the owner object is also alive...

Aleksandr Shvedov (@controlflow) 's Twitter Profile Photo

Compiler-generated classes for C# 12 `[collection, expressions]` still look awful in the debugger, pls vote: github.com/dotnet/roslyn/…

Roman Kennke 🗽 (@rkennke) 's Twitter Profile Photo

OpenJDK 25 is out, and it comes with two JEPs that I personally care much about: JEPs 519 and 521 - 8-byte object headers aka Lilliput and Generational Shenandoah, both as production-ready features. 🎉🍾🥳🙌