bflat

C# as you know it but with Go-inspired tooling (small, selfcontained, and native executables) (by bflattened)

Bflat Alternatives

Similar projects and alternatives to bflat

  1. go

    2,255 bflat VS go

    The Go programming language

  2. InfluxDB

    InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.

    InfluxDB logo
  3. Jellyfin

    The Free Software Media System - Server Backend & API

  4. zig

    874 bflat VS zig

    General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

  5. .NET Runtime

    .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.

  6. FrameworkBenchmarks

    Source for the TechEmpower Framework Benchmarks project

  7. gitignore

    A collection of useful .gitignore templates

  8. Avalonia

    Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET UI client technology

  9. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  10. dmd

    154 bflat VS dmd

    dmd D Programming Language compiler

  11. Uno Platform

    Open-source platform for building cross-platform native Mobile, Web, Desktop and Embedded apps quickly. Create rich, C#/XAML, single-codebase apps from any IDE. Hot Reload included! 90m+ NuGet Downloads!!

  12. core

    117 bflat VS core

    .NET news, announcements, release notes, and more! (by dotnet)

  13. sdk

    117 bflat VS sdk

    Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI (by dotnet)

  14. Mono

    95 bflat VS Mono

    Mono open source ECMA CLI, C# and .NET implementation.

  15. embassy

    85 bflat VS embassy

    Modern embedded framework, using Rust and async.

  16. runtimelab

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

  17. zerosharp

    Demo of the potential of C# for systems programming with the .NET native ahead-of-time compilation technology.

  18. borgo

    15 bflat VS borgo

    Borgo is a statically typed language that compiles to Go.

  19. Eto.Forms

    Cross platform GUI framework for desktop and mobile applications in .NET

  20. source-build

    A repository to track efforts to produce a source tarball of the .NET Core SDK and all its components

  21. asdf-dotnet-core

    ✨ .Net Core plugin for asdf version manager

  22. whisper.net

    Whisper.net. Speech to text made simple using Whisper Models

  23. SaaSHub

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

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better bflat alternative or higher similarity.

bflat discussion

Log in or Post with

bflat reviews and mentions

Posts with mentions or reviews of bflat. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-10-14.
  • A review after using Rust on embedded in production for over a year
    7 projects | news.ycombinator.com | 14 Oct 2024
    You can :) It just requires going out of your way a bit. It effectively works as C with better type system and generics, that can be either JIT or AOT compiled (statically linked too). For example https://github.com/bflattened/bflat has a target flavour that does not support GC at all.
  • Pledging $300k to the Zig Software Foundation
    6 projects | news.ycombinator.com | 1 Oct 2024
    There is a practical answer to this question: https://github.com/bflattened/bflat specifically the --stdlib:zero target.

    C# is quite a bit more than just enhanced C if you remove GC-reliant features as the generics and interface constraints enable a huge subset of features, alongside SIMD API, stack-allocated buffers and all sorts of memory wrappable in Spans, which almost every method in the standard library that works on some sort of buffer accepts nowadays instead of plain arrays.

  • Microsoft donates the Mono Project to the Wine team
    30 projects | news.ycombinator.com | 27 Aug 2024
    Static fields may be placed on Frozen Object Heap. The values of static readonly fields may not exist at all if the ILC's static constructor interpreter can pre-initialize it at compile-time and bake the value into binary or codegen. DynamicPGO does a similar optimization but for all cases, relying on recompilation. This is with JIT though which is not usable in such environment.

    There is no concept of globals in .NET the way you describe it - you simply access static properties and fields.

    In practice, you will not be running .NET on microcontrollers with existing mainline runtime flavours - very different tradeoffs, much like no-std in Rust. As mentioned, there is NanoFramework. Another one is https://www.wildernesslabs.co which my friend is using for an automated lab for his PhD thesis.

    Last mention goes to https://github.com/bflattened/bflat which supports a few interesting targets like UEFI. From the same author there's an example of completely runtime-less C# as well: https://github.com/MichalStrehovsky/zerosharp. It remains a usable language because C# has a large subset of C and features for manual memory management so writing code that completely bypasses allocations is very doable, unlike most other GC-based languages.

  • Borgo is a statically typed language that compiles to Go
    21 projects | news.ycombinator.com | 30 Apr 2024
    The sibling pretty much sums it up. But if you want more detail, read on:

    Generally, there are three publishing options that each make sense depending on scenario:

    JIT + host runtime: by definition portable, includes slim launcher executable for convenience, the platform for which can be specified with e.g. -r osx-arm64[0].

    JIT + self-contained runtime: this includes IL assemblies and runtime together, either within a single file or otherwise (so it looks like AOT, just one bin/exe). These requires specifying RID, like in the previous option.

    AOT: statically linked native binary, cross-OS compilation is not supported officially[1] because macOS is painful in general, and Windows<->Linux/FreeBSD is a configuration nightmare - IL AOT Compiler depends on Clang or MSVC and a native linker so it is subject to restrictions of those as a start. But it can be done and there are alternate, more focused toolchains, that offer it, like Bflat[1].

    If you just want a hello world AOT application, then the shortest path to that is `dotnet new console --aot && dotnet publish -o {folder}`.

    [0] https://learn.microsoft.com/en-us/dotnet/core/rid-catalog

    [1] https://github.com/bflattened/bflat (can also build UEFI binaries, lol)

  • Learn how to build beautiful and interactive .NET command-line applications using System.CommandLine and Spectre.Console with my latest blog post
    1 project | /r/dotnet | 5 Jul 2023
    See here
  • Question about NativeAOT platform support
    4 projects | /r/dotnet | 30 May 2023
    See B flat
  • Native AOT Overview
    8 projects | news.ycombinator.com | 26 May 2023
    I've been wondering how to integrate modern .NET Core into a custom build system (buck2) and was wondering similar things. There's this project I think is cool called bflat[1] that basically makes the C# compiler more like the Go compiler in the sense it's a one-shot single-use tool that can cross compile binaries natively. It's done by one of the people on the .NET Runtime team as a side project, but quite neat.

    I think in practice you're supposed to compile whole .dll's or assemblies all at once, which acts as the unit of compilation; I don't think the csharp compiler generates native object-files-for-every-.cs, the kind of approach you'd expect from javac or g++. Someone please correct me if I'm wrong though! I'd like to learn more about this.

    [1] https://github.com/bflattened/bflat

  • If you were stuck on a remote island, would you pick C# as your programming language
    2 projects | /r/csharp | 11 Feb 2023
    You can compile without a GC using https://github.com/bflattened/bflat
  • AOT
    3 projects | /r/fsharp | 16 Jan 2023
  • Hey people, made a game for my CS homework as a freshman using C#, what do you guys think about it?
    4 projects | /r/csharp | 11 Jan 2023
    nice. have you tried compile it using https://github.com/bflattened/bflat to have native executable? as long as you don't have PackgeReference it can be compiled using bflat instead of full dotnet
  • A note from our sponsor - SaaSHub
    www.saashub.com | 25 Apr 2025
    SaaSHub helps you find the best software and product alternatives Learn more →

Stats

Basic bflat repo stats
30
3,773
2.8
2 months ago

Sponsored
InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com