Log inSign up
EgorBo
2,361 posts
EgorBo profile banner
@EgorBo

EgorBo

@EgorBo
Principal Engineer at Microsoft working on .NET runtime.
Warsaw, Poland
github.com/EgorBo
Joined November 2010
182
Following
5,620
Followers
RepliesRepliesRepostsRepostsMediaMedia

Log in or sign up for X

See what’s happening and join the conversation

Continue with phone
or
Log in with username or email
Terms·Privacy·Cookies·Accessibility·Ads Info·© 2026 X Corp.
  • @EgorBo
    EgorBo
    @EgorBo
    Aug 28
    Decided to check C# (it also emits a Trie for pattern matches like that) - it turned out it needed a little help on the Roslyn side for this case, filed github.com/dotnet/roslyn/… 🙃
    @neogoose_btw
    Dmitriy Kovalenko
    @neogoose_btw
    Aug 28
    This is by the way one of the reasons why the code you write in C without thinking going to be slower than rust:
    2
  • @EgorBo
    EgorBo
    @EgorBo
    Aug 26
    Unions in C# vs alternative. Hint: both suggestions have memory model issues making them unsafe (at least the 2nd one, 1st one is arguably too).
    Image
    4
  • @EgorBo
    EgorBo
    @EgorBo
    Aug 22
    C# 15.0:
    Image
    sealed interface Temperature {
    record Celsius(int val) implements Temperature {}
    record Fahrenheit(int val) implements Temperature {}
}

void main() {
    Temperature temperature = new Temperature.Celsius(35);

    switch (temperature) {
        case Temperature.Celsius(var t) when t > 30 -> IO.println(t + "C is above 30 Celsius");
        case Temperature.Celsius(var t) -> IO.println(t + "C is equal to or below 30 Celsius");
        case Temperature.Fahrenheit(var t) when t > 86 -> IO.println(t + "F is above 86 Fahrenheit");
        case Temperature.Fahrenheit(var t) -> IO.println(t + "F is equal to or below 86 Fahrenheit");
    }

    var number_str = "10";
    switch (Result.of(() -> Integer.parseInt(number_str))) {
        case Result.Ok<?> ok -> IO.println(ok.val());
        case Result.Err<?> err -> IO.println(err.err());
    };
}
    @ptr_to_joel
    Joel 🇦🇺
    @ptr_to_joel
    Aug 22
    modern java (top) rust (bottom) the java you thought you knew is no more
    13
  • @EgorBo
    EgorBo
    @EgorBo
    Aug 20
    In the AI era, a good language platform needs a rich standard library out of the box. You shouldn't need 3rd-party packages for basic things like pad-left/arrayref. Every micro-dependency is just another entry point for a supply chain attack.
    1
  • @EgorBo
    EgorBo
    @EgorBo
    Aug 17
    It feels like good open-weight models fall into 3 price tiers: 1) 24-64GB MacBook: Qwen3.8-27B Q4–Q8. Might work for simple tasks with a plan from a smarter model, but IMO just a toy. 2) 1-2× RTX PRO 6000: Qwen BF16 (big context, kv-cache) or DeepSeek-V4-Flash (with offloading).
    1
Advertisement
Advertisement