Skip Navigation
github.com csharplang/proposals/TypeUnions.md at main · dotnet/csharplang

The official repo for the design of the C# programming language - dotnet/csharplang

From the meeting minutes:

>First up today, the discriminated unions working group presented the proposal they've been working on for a while to the broader LDM. This was a broad overview session, rather than a deep dive into nitty-gritty questions; there are still plenty of little details that will need to be filled in, but we're cautiously optimistic about this proposal and moving forward with it. There was some concern about some of the ternary behavior, but we can dig more into that as we bring this proposal back for detailed follow ups in the future.

0
endjin.com How .NET 8.0 boosted AIS.NET performance by 27% | endjin

When we benchmarked endjin's AIS.NET library on .NET 8.0, we were delighted to see substantial performance gains, with no extra work required.

0
Jump
.NET Conf 2023 - Presentations
  • Some talks from yesterday have not yet been uploaded as separate videos, but they will probably be added in the playlist soon.

    2
  • avaloniaui.net Introducing Hybrid XPF: Bridging Avalonia and WPF Controls

    Hybrid XPF enables the integration of 700+ WPF controls into Avalonia apps, easing the transition for companies migrating to Avalonia while maintaining essential WPF elements.

    0
    devblogs.microsoft.com The convenience of System.IO - .NET Blog

    File I/O APIs are used pervasively in apps. .NET has great API for reading and writing files. They are a great example of the convenience of .NET.

    0
    devblogs.microsoft.com The convenience of System.Text.Json - .NET Blog

    JSON is one of the most common formats in apps today and .NET has great APIs for reading and writing JSON documents. It's a great example of the convenience of .NET.

    0
    devblogs.microsoft.com Debugging Enhancements in .NET 8 - .NET Blog

    .NET 8 introduces debugging enhancements to many commonly used types. Check out what is new and discover how .NET debugging is better than ever.

    0
    devblogs.microsoft.com Performance Improvements in .NET 8 - .NET Blog

    .NET 7 was super fast, .NET 8 is faster. Take an in-depth tour through over 500 pull requests that make that a reality.

    1
    devblogs.microsoft.com Performance Improvements in .NET 8 - .NET Blog

    .NET 7 was super fast, .NET 8 is faster. Take an in-depth tour through over 500 pull requests that make that a reality.

    The yearly Stephen Toub blog post we were waiting for is finally here

    1
    devblogs.microsoft.com Announcing .NET 8 Release Candidate 1 - .NET Blog

    .NET 8 RC1 is now available with improvements to System.Text.Json, a new AOT mode for Android and WASM, Azure Managed Identity support for containers, and more!

    0
    devblogs.microsoft.com Demystifying Retrieval Augmented Generation with .NET - .NET Blog

    Build a chat-based console app with Retrieval Augmented Generation (RAG) from scratch.

    0
    blog.jetbrains.com Wayland Support for IntelliJ-based IDEs | The JetBrains Platform Blog

    For Linux users of IntelliJ-based IDEs, an exciting advancement is on the horizon – the upcoming support of the Wayland display server protocol. This update

    2
    Jump
    Visual Studio for Mac Retirement Announcement - Visual Studio Blog
  • I have started using Avalonia, and even though I am still learning, I am very satisfied with it. There are growing pains obviously, but as you said, I have no confidence in Microsoft UI frameworks.

    4
  • devblogs.microsoft.com Visual Studio for Mac Retirement Announcement - Visual Studio Blog

    Today we are announcing the retirement of the Visual Studio for Mac IDE. Visual Studio for Mac 17.6 will continue to be supported for another 12 months, until August 31st, 2024, with servicing updates for security issues and updated platforms from Apple.

    58
    devblogs.microsoft.com Visual Studio for Mac Retirement Announcement - Visual Studio Blog

    Today we are announcing the retirement of the Visual Studio for Mac IDE. Visual Studio for Mac 17.6 will continue to be supported for another 12 months, until August 31st, 2024, with servicing updates for security issues and updated platforms from Apple.

    0
    devblogs.microsoft.com Announcing the New Foundational C# Certification with freeCodeCamp - .NET Blog

    The Foundational C# Certification with freeCodeCamp is now available! The certification is free, globally available, and includes a full training course.

    0
    blog.documentfoundation.org Announcement of LibreOffice 7.6 Community - The Document Foundation Blog

    Berlin, August 21, 2023 – LibreOffice 7.6 Community, the new major release of the volunteer-supported free office suite for desktop productivity, and the last based on the historical release numbering scheme (first digit for release cycle, second digit for major release), is immediately available fr...

    0
    avaloniaui.net Avalonia UI - XPF

    Cross-Platform WPF for Linux, macOS, iOS, Android and Browser. Take your WPF to new platforms with little to no changes required.

    This is not to be confused with the Avalonia UI framework which remains free and open source.

    XPF is a new project by the same team that allows existing WPF apps to be cross-platform (so enterprises can take their existing Windows-only apps and run them on MacOS, Linux and maybe WebAssembly). It's in early stages so I don't know how well it works.

    0
    devblogs.microsoft.com New C# 12 preview features - .NET Blog

    .NET 8 Preview 6 adds three new features for C# 12: interceptors, inline arrays, and enhancements to the nameof expression.

    0
    Jump
    A fully self-contained natively compiled C# Hello World, including GC and everything can be as small as ~440 kB
  • My bad, the link I sent was not about NativeAOT, just bundling all the dependencies together (also, it's 4 years old). After a quick search, here's a recent SO question that mentions that you can build .exe files

    As for the filesize... please recheck the post under which we are commenting. :D

    1
  • Jump
    A fully self-contained natively compiled C# Hello World, including GC and everything can be as small as ~440 kB
  • Does it effectively output a single binary?

    Yes, that's one of the points of NativeAOT, a self-contained single binary, exactly as Go does it.

    Does it create some kind of clusterf*k and awkward packaging formats like other MS solutions such as UWP?

    No, you can create .exe files.

    Will it actually be deployable to a random fresh install of Debian 12 or Windows 10?

    Yes, NativeAOT supports Windows, Linux and MacOS, x64 and Arm64.

    What about compatibility with older systems?

    Not sure about that, I suppose it depends on the targets each .NET version support. For example, .NET 8 will drop RHEL 7 and only RHEL 8 and later.

    And to play devil's advocate: this won't work for all existing .NET applications. If you use reflection (which is AOT unfriendly), chances are that you will have to rework a ton of stuff in order to get to a point where NativeAOT works. There's a middle solution though, called ReadyToRun, which has some advantages compared to running fully with the JIT compiler.

    1