C# 9 top-level programs and target-typed expressions

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Purpose built for real-time analytics at any scale.
InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • dotnet-script

    Run C# scripts from the .NET CLI.

    I think the short answer to your question is "no".

    For single-file-no-project simplicity your best bet is dotnet-script: https://github.com/filipw/dotnet-script

    For native code your best bet is NativeAOT: https://github.com/dotnet/runtimelab/tree/feature/NativeAOT

    I'm not aware of anything that combines the two.

    As to why: it's not so much that they've made it hard as they haven't made it easy. The reason they haven't made it easy is that it's a fringe use case. The main benefits of AOT are faster startup time, smaller storage requirements, and compliance with the iOS interpreted language ban. Most people who worry about those things don't mind having a project file.

    They _have_ made some changes that may partly address your concerns. Visual Studio is no longer required to build C#; you can do it purely from the command line. There is also a new project file format. it's still XML, but much simpler. The HelloWorld example[0] from NativeAOT is a good example of how simple it can get. And the command line tools include an easy way of creating a basic project files[1], so you don't have to memorize what little boilerplate remains.

    [0] https://github.com/dotnet/runtimelab/tree/feature/NativeAOT/...

  • InfluxDB

    Purpose built for real-time analytics at any scale. InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.

    InfluxDB logo
  • CoreWCF

    Main repository for the Core WCF project

    You may want to keep an eye on CoreWCF: https://github.com/CoreWCF/CoreWCF

    Though as a heavy WCF user in the past, I'd suggest your best bet is simply to throw out all your binding configs, and build your own REST API or similar backend (gRPC support in .NET 5+ is something often also recommended if you want something more RPC-like and need/want a more binary-serializer like approach, though in 2021 I'd just use JSON and something REST-ish myself). The nice thing about the Interface-driven "contract" approach should be that implementing your own is just a matter of implementing all your contract interfaces and injecting the physical implementations yourself.

    I realize that can be easier said than done as things accidentally got coupled to very specific styles of bindings over the years and not everyone followed best practices and used the Async contracts so you have to tear out a bunch of synchronous faking code and wire back in Task/ValueTask. But generally, overall, the process was implement the interfaces and remove the "magic" in the process and I often found you end up with something better anyway because it is simpler and prone to less "magic" failures.

  • csharplang

    The official repo for the design of the C# programming language

    The C# language design process is very much in the open, so anybody can go and take a look at the rationale etc.

    https://github.com/dotnet/csharplang

  • BlazorWebFormsComponents

    A collection of Blazor components that emulate the ASP.NET Web Forms controls of the same name

    You can give it a shot with this project. https://github.com/FritzAndFriends/BlazorWebFormsComponents

    It emulates WebForms component with Blazor. Although I would just start from scratch.

  • Visual Studio Community

    Discontinued GitHub Extension for Visual Studio

    > Nothing more frustrating than reviewing a PR with var's all over.

    ooh you gotta try reviewing your PRs within visual studio (and be sure to use VS internal diff tool as well)

    [1] https://github.com/github/VisualStudio/blob/master/docs/usin...

  • runtimelab

    This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo.

    I think the short answer to your question is "no".

    For single-file-no-project simplicity your best bet is dotnet-script: https://github.com/filipw/dotnet-script

    For native code your best bet is NativeAOT: https://github.com/dotnet/runtimelab/tree/feature/NativeAOT

    I'm not aware of anything that combines the two.

    As to why: it's not so much that they've made it hard as they haven't made it easy. The reason they haven't made it easy is that it's a fringe use case. The main benefits of AOT are faster startup time, smaller storage requirements, and compliance with the iOS interpreted language ban. Most people who worry about those things don't mind having a project file.

    They _have_ made some changes that may partly address your concerns. Visual Studio is no longer required to build C#; you can do it purely from the command line. There is also a new project file format. it's still XML, but much simpler. The HelloWorld example[0] from NativeAOT is a good example of how simple it can get. And the command line tools include an easy way of creating a basic project files[1], so you don't have to memorize what little boilerplate remains.

    [0] https://github.com/dotnet/runtimelab/tree/feature/NativeAOT/...

  • .NET-Obfuscator

    Lists of .NET Obfuscator (Free, Freemium, Paid and Open Source )

    The term you're looking for is obfuscation. This seems like a good roundup: https://github.com/NotPrab/.NET-Obfuscator

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • FrameworkBenchmarks

    Source for the TechEmpower Framework Benchmarks project

    How so? .NET is 2-4x faster than Scala in benchmarks (https://www.techempower.com/benchmarks/#section=data-r20&hw=...). Do you just prefer the syntax and language features?

  • Introducing .NET Multi-platform App UI (MAUI)

    .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.

    It looks like MAUI [1] is the path forward

    [1] https://devblogs.microsoft.com/dotnet/introducing-net-multi-...

  • cs-script

    C# scripting platform

    There are third party projects that support this: https://github.com/oleg-shilo/cs-script

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • LINQPad – The .NET Programmer's Playground

    4 projects | news.ycombinator.com | 23 Jun 2024
  • CSharpRepl: Command line C# REPL with syntax highlighting and intellisense

    4 projects | news.ycombinator.com | 23 May 2024
  • .NET 8 – .NET Blog

    12 projects | news.ycombinator.com | 14 Nov 2023
  • Is it possible to build a "desktop" type app with Blazor WebAssembly/PWA?

    2 projects | /r/Blazor | 28 May 2023
  • So Xamarin.Forms is close to end of support, while MAUI is not really production ready, what shall I do?

    4 projects | /r/dotnet | 26 Mar 2023

Did you konow that C# is
the 10th most popular programming language
based on number of metions?