Hacker ApprovedDepartments

.NET Native AOT

Hacker Approved

Ranked 5 of 26 compilers by recommenders

People recommend .NET Native AOT for compiling C# into small, self-contained native executables that do not need the .NET runtime installed, with binaries comparable to Go. The common caveat is that reflection and some language features are restricted.

People recommend .NET Native AOT for compiling C# into small, self-contained native executables that do not need the .NET runtime installed, with binaries comparable to Go. The common caveat is that reflection and some language features are restricted.

39 people gave an opinion

recommend it
26
criticize it
13
approval share
67%
Each figure is one person. RecommendsCriticizes

Recommended in 10 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: not recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: not recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Why it carries the badge

  • 26 people recommend itNeeds 10 or more, met.
  • 2 recommenders for every criticNeeds 2 to 1 or better, met.
  • Recommended in 10 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Single-file binaries with no runtime needed

    “produced a single-file static binary which is similar in size to what Go would produce”

    Comment from 16 Jul 2026 in “G# – A modern .NET language with Go, Kotlin, and Swift ergonomics”

    “Applications can be compiled as a single file with no dependancies.”

    Comment from 8 May 2026 in “Just Fucking Use Go”

    “C# no longer requires .NET installed or bundled inside exe.”

    Comment from 2 Dec 2025 in “Anthropic acquires Bun”
  • Binary size comparable to Go

    “AOT .NET is an official first party distribution target that in my experience is on par with building a Go binary”

    Comment from 10 Jun 2026 in “Port React Compiler to Rust”

    “You can already AOT compile .NET software to an executable to run on whichever platform you need, just like Go.”

    Comment from 10 Apr 2026 in “Why I'm Building a Database Engine in C#”

    “produced a single-file static binary which is similar in size to what Go would produce”

    Comment from 16 Jul 2026 in “G# – A modern .NET language with Go, Kotlin, and Swift ergonomics”
  • Works reliably in production

    “overall I'm very happy with using .NET with Native AOT”

    Comment from 8 Jul 2026 in “Show HN: Fast, native Mac file manager (filters, fuzzy find, 9 MB, no Electron)”

    “It's been working fine for a few years now.”

    Comment from 19 Jun 2026 in “Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28”

    “NativeAOT has worked wonderfully for us”

    Comment from 21 Oct 2026 in “C# now beats Rust on WASM size”
  • Better performance than before

    “the real win is predictable performance”

    Comment from 6 Mar 2026 in “Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting”

    “It brings a lot of performance to .NET.”

    Comment from 19 Sep 2026 in “Performance Improvements in .NET 11”

What people warn about

Each mark is one comment

  • Many gotchas in real apps

    “Existing code bases can be a pain, though, especially applications that heavily rely on things like C++/CLI and COM Interop”

    Comment from 10 Sep 2026 in “JEP 544: Ahead-of-Time Code Compilation”

    “We do AOT at work on a fairly large app and keep tripping over corners.”

    Comment from 11 Dec 2025 in “COM Like a Bomb: Rust Outlook Add-in”

    “as soon you try aot you just meet a wall of compilation errors”

    Comment from 16 Jul 2026 in “G# – A modern .NET language with Go, Kotlin, and Swift ergonomics”
  • Reflection and features unsupported

    “show-stopping restrictions like "you can't use reflection" and "you can't use native sessions"”

    Comment from 13 Nov 2025 in “.NET 10”

    “That makes it confusing and fickle since not all language features work with AOT.”

    Comment from 11 Sep 2026 in “Rust is tier-1 language at Microsoft”

    “For us the showstopper was you can't use reflection.”

    Comment from 12 Nov 2025 in “.NET 10”
  • Immature with limited ecosystem support

    “Last time I checked, NativeAOT was only for console apps, i.e. didn't support any GUI frameworks.”

    Comment from 3 Nov 2025 on Hacker News

    “C# AOT is relatively nascent and not yet propagated through all of the ecosystem”

    Comment from 29 Sep 2026 in “Rust for C# and .NET developers guide by Microsoft”

    “it's lack of maturity was explicitly cited by Anders as a gap”

    Comment from 29 Sep 2026 in “Rust for C# and .NET developers guide by Microsoft”
  • Quirky CPU matching and libc dependency

    “it's still a bit quirky because of the way you need to match CPU to binary”

    Comment from 17 Sep 2026 in “Performance Improvements in .NET 11”

    “That isn't truly self-contained. It still relies on libc.”

    Comment from 8 May 2026 in “Just Fucking Use Go”

Other compilers people recommend

The four most recommended other compilers, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

.NET Native AOT compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
GCC13812353%1215 yrs9 owners—
Clang745060%12——
Free Pascal compiler38784%11—Approved
GraalVM Native Image31978%11—Approved
.NET Native AOTThis page261367%10—Approved
See all 26 compilers, ranked

What people said

40 of the 49 comments that mention it, newest first. Each links to the original comment.

“NativeAOT has worked wonderfully for us”

RecommendsComment from 21 Oct 2026 in “C# now beats Rust on WASM size”

“it's lack of maturity was explicitly cited by Anders as a gap”

CriticizesComment from 29 Sep 2026 in “Rust for C# and .NET developers guide by Microsoft”

“Here is a .NET example of writing node.js extensions in C#, from Microsoft themselves.”

RecommendsComment from 29 Sep 2026 in “Rust for C# and .NET developers guide by Microsoft”

“C# AOT is relatively nascent and not yet propagated through all of the ecosystem”

CriticizesComment from 29 Sep 2026 in “Rust for C# and .NET developers guide by Microsoft”

“It brings a lot of performance to .NET.”

RecommendsComment from 19 Sep 2026 in “Performance Improvements in .NET 11”

“it's still a bit quirky because of the way you need to match CPU to binary”

MixedComment from 17 Sep 2026 in “Performance Improvements in .NET 11”

“That makes it confusing and fickle since not all language features work with AOT.”

CriticizesComment from 11 Sep 2026 in “Rust is tier-1 language at Microsoft”

“Native AOT with C#/.net has come a long way”

RecommendsComment from 10 Sep 2026 in “Rust is tier-1 language at Microsoft”

“Existing code bases can be a pain, though, especially applications that heavily rely on things like C++/CLI and COM Interop”

MixedComment from 10 Sep 2026 in “JEP 544: Ahead-of-Time Code Compilation”

“Game developers that use C# adopt NativeAOT with zero friction, it's just a natural fit”

RecommendsComment from 16 Jul 2026 in “G# – A modern .NET language with Go, Kotlin, and Swift ergonomics”

“as soon you try aot you just meet a wall of compilation errors”

CriticizesComment from 16 Jul 2026 in “G# – A modern .NET language with Go, Kotlin, and Swift ergonomics”

“produced a single-file static binary which is similar in size to what Go would produce”

RecommendsComment from 16 Jul 2026 in “G# – A modern .NET language with Go, Kotlin, and Swift ergonomics”

“overall I'm very happy with using .NET with Native AOT”

RecommendsComment from 8 Jul 2026 in “Show HN: Fast, native Mac file manager (filters, fuzzy find, 9 MB, no Electron)”

“It's been working fine for a few years now.”

MixedComment from 19 Jun 2026 in “Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28”

“AOT .NET is an official first party distribution target that in my experience is on par with building a Go binary”

RecommendsComment from 10 Jun 2026 in “Port React Compiler to Rust”

“Now you can get most of it via C# AOT or Swift, with much better ecosystem.”

RecommendsComment from 10 May 2026 in “Bun ported to Rust in 6 days”

“That isn't truly self-contained. It still relies on libc.”

CriticizesComment from 8 May 2026 in “Just Fucking Use Go”

“Applications can be compiled as a single file with no dependancies.”

RecommendsComment from 8 May 2026 in “Just Fucking Use Go”

“see OCaml, Delphi, D, or C# AOT”

RecommendsComment from 7 May 2026 in “Show HN: Trust – Coding Rust like it's 1989”

“reflection is severely limited in .NET AOT vs. JIT”

CriticizesComment from 11 Apr 2026 in “Why I'm Building a Database Engine in C#”

“You can already AOT compile .NET software to an executable to run on whichever platform you need, just like Go.”

RecommendsComment from 10 Apr 2026 in “Why I'm Building a Database Engine in C#”

“it's fantastic for servers on Linux”

RecommendsComment from 6 Apr 2026 in “Microsoft Hasn't Had a Coherent GUI Strategy Since Petzold”

“you can use C# like go - you don't need to ship the CLR.”

RecommendsComment from 31 Mar 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan”

“I've managed to bypass the managed heap and achieve sub-microsecond determinism.”

RecommendsComment from 11 Mar 2026 in “Achieving deterministic 1µs latency in .NET 10 using Native AOT”

“the real win is predictable performance”

RecommendsComment from 6 Mar 2026 in “Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting”

“it works perfectly with Go binaries or .NET’s AOT compiler”

RecommendsComment from 2 Jan 2026 in “2026: The Year of Java in the Terminal”

“It produces binaries as small as go or rust.”

RecommendsComment from 31 Dec 2025 in “2026: The Year of Java in the Terminal”

“CoreCLR NativeAOT is already shipping real games on Nintendo, PS5, and Xbox.”

RecommendsComment from 29 Dec 2025 in “Unity's Mono problem: Why your C# code runs slower than it should”

“C# AOT may sometimes require fiddling around, but in my experience a lot less fiddling around than what my alternative used to be”

MixedComment from 26 Dec 2025 in “Comptime – C# meta-programming with compile-time code generation and evaluation”

“it and the GC at least would still make its use difficult at best for some of C/C++'s remaining niches”

MixedComment from 26 Dec 2025 in “Memory Safety”

“We do AOT at work on a fairly large app and keep tripping over corners.”

MixedComment from 11 Dec 2025 in “COM Like a Bomb: Rust Outlook Add-in”

“C# no longer requires .NET installed or bundled inside exe.”

RecommendsComment from 2 Dec 2025 in “Anthropic acquires Bun”

“it is very exotic and undocumented path that is not guaranteed to be stable”

CriticizesComment from 30 Nov 2025 in “Ported freetype, fontconfig, harfbuzz, and graphite to Fil-C”

“You don't have to pay for dotnet AOT.”

RecommendsComment from 20 Nov 2025 in “Implementation of a Java Processor on a FPGA (2016)”

“show-stopping restrictions like "you can't use reflection" and "you can't use native sessions"”

CriticizesComment from 13 Nov 2025 in “.NET 10”

“NativeAOT and ReadyToRun remedies this problem by compiling ahead of time, but you trade space with time.”

MixedComment from 12 Nov 2025 in “.NET 10”

“For us the showstopper was you can't use reflection.”

CriticizesComment from 12 Nov 2025 in “.NET 10”

“There are quite a few gotchas for this, especially web apps.”

CriticizesComment from 12 Nov 2025 in “.NET 10”

“They're self contained and native, but they're still massive.”

MixedComment from 12 Nov 2025 in “.NET 10”

“Last time I checked, NativeAOT was only for console apps, i.e. didn't support any GUI frameworks.”

CriticizesComment from 3 Nov 2025 on Hacker News

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.