SaaSHub helps you find the best software and product alternatives Learn more →
Bflat Alternatives
Similar projects and alternatives to bflat
-
-
InfluxDB
InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
-
-
zig
General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
-
-
-
-
Avalonia
Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET UI client technology
-
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.
-
-
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!!
-
-
sdk
Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI (by dotnet)
-
-
-
runtimelab
This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo.
-
zerosharp
Demo of the potential of C# for systems programming with the .NET native ahead-of-time compilation technology.
-
-
-
source-build
A repository to track efforts to produce a source tarball of the .NET Core SDK and all its components
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
bflat discussion
bflat reviews and mentions
-
A review after using Rust on embedded in production for over a year
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
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
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
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
See here
-
Question about NativeAOT platform support
See B flat
-
Native AOT Overview
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
You can compile without a GC using https://github.com/bflattened/bflat
- AOT
-
Hey people, made a game for my CS homework as a freshman using C#, what do you guys think about it?
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
Stats
bflattened/bflat is an open source project licensed under GNU Affero General Public License v3.0 which is an OSI approved license.
The primary programming language of bflat is C#.