Hacker ApprovedDepartments

Fil-C

Hacker Approved

The most recommended of 18 c compilers

Recompiles existing C and C++ code with strong memory safety and high compatibility, making legacy software safer without a rewrite, at the cost of speed, memory and garbage collection.

Recompiles existing C and C++ code with strong memory safety and high compatibility, making legacy software safer without a rewrite, at the cost of speed, memory and garbage collection.

220 people gave an opinion

recommend it
160
criticize it
60
approval share
73%
Each figure is 2 people. RecommendsCriticizes

Recommended in 13 of 13 months

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

Why it carries the badge

  • 160 people recommend itNeeds 10 or more, met.
  • 2.7 recommenders for every criticNeeds 2 to 1 or better, met.
  • Recommended in 13 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

  • Memory-safe recompile of legacy code

    “sudo compiled with Fil-C: uses pam compiled with Fil-C, and all of pam's dependencies are compiled with Fil-C, so the whole thing is memory safe.”

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

    “Choosing to use Fil-C to recompile existing (established, stabilized, functional...) software rather than rewrite it is an engineering choice.”

    Comment from 2 Nov 2025 in “Notes by djb on using Fil-C”

    “Fil-C makes a lot of sense to me if the goal is to simply take existing legacy software and recompile it in a more memory safe way”

    Comment from 30 Nov 2025 in “Ported freetype, fontconfig, harfbuzz, and graphite to Fil-C”
  • High compatibility with existing C/C++

    “what I like is that it works with existing C++ code; I don't think the extra safety relative to Rust is worth the performance penalty”

    Comment from 26 Jul 2026 in “Fil-C: Garbage In, Memory Safety Out – Filip Pizlo – SSW 2026 [video]”

    “The main advantage of Fil-C is compatibility with C, in a secure way. The disadvantages are speed, and garbage collection.”

    Comment from 2 Nov 2025 in “Notes by djb on using Fil-C”

    “it has stronger memory safety guarantees than rust, none of the compatibility issues that a wholesale rewrite has”

    Comment from 15 Sep 2026 in “Ubuntu 26.10 completes transition to Rust-based coreutils”
  • Turns memory bugs into safe crashes

    “Caught multiple memory safety issues in a nice deterministic way, so designing the object model was easier than it would have been otherwise.”

    Comment from 21 Apr 2026 in “How to Make a Fast Dynamic Language Interpreter”

    “There is now an iron clad defense against all memory safety bugs leading to RCE that is actually practical to use in production in many cases”

    Comment from 21 Oct 2026 in “PHP 8.2.35”

    “This improves the situation greatly by converting most interesting cases of unsound behavior into runtime errors.”

    Comment from 14 Oct 2026 in “11 year old unsoundness bugs found in Rust borrow checker”
  • Stronger guarantees than Rust

    “In Fil-C, no such specialists are needed, and the pool of unsafety is closed and fixed, no matter what programs, algorithms, data structures you use.”

    Comment from 25 Jul 2026 in “Fil-C: Garbage In, Memory Safety Out – Filip Pizlo – SSW 2026 [video]”

    “Those languages rely on a much larger pile of YOLO C/C++ code for their runtimes and standard libraries than Fil-C does.”

    Comment from 24 Jul 2026 in “Fil-C: Garbage In, Memory Safety Out – Filip Pizlo – SSW 2026 [video]”

    “it has stronger memory safety guarantees than rust, none of the compatibility issues that a wholesale rewrite has”

    Comment from 15 Sep 2026 in “Ubuntu 26.10 completes transition to Rust-based coreutils”

What people warn about

Each mark is one comment

  • Significant performance and memory overhead

    “Tools like Fil-C, hardened mallocs like SlimGuard, and other "make C safe" solutions all sacrifice absurd amounts of performance”

    Comment from 26 Jul 2026 in “Memory Safety Absolutists”

    “The performance drop of Fil-C (as described in the article) limits the usage, and the GC (independently) limits the usage.”

    Comment from 7 Nov 2025 in “A Note on Fil-C”

    “Not everyone wants to recompile the whole app and dependencies with filc to get a slowdown, extra memory use and safety.”

    Comment from 15 Dec 2025 in “Problems with D-Bus on the Linux desktop”
  • Garbage collection unwanted by some

    “Sure, GC's are nice which is why so many langs have them, but that removes the deterministic allocation performance which most C/C++ programmers want”

    Comment from 25 Jul 2026 in “Fil-C: Garbage In, Memory Safety Out – Filip Pizlo – SSW 2026 [video]”

    “The main advantage of Fil-C is compatibility with C, in a secure way. The disadvantages are speed, and garbage collection.”

    Comment from 2 Nov 2025 in “Notes by djb on using Fil-C”

    “for this to work, tracing GC can not be used. And this is what prevents Fil-C and many other languages to be used in that area.”

    Comment from 7 Nov 2025 in “A Note on Fil-C”
  • Not a full drop-in C replacement

    “I don't think fil-c is a drop in C replacement, there are things you can do in C such as certain types of pointer abuse that fil-c prohibits”

    Comment from 20 Apr 2026 in “A simplified model of Fil-C”

    “As far as I understand, Fil-C changes the ABI of the system, therefore it requires a new architecture in Debian terminology”

    Comment from 2 Nov 2025 in “Hard Rust requirements from May onward”

    “I can write the networking parts in Rust and the rest of the program in C, but apparently can't do the same with Fil-C.”

    Comment from 3 Nov 2025 in “Notes by djb on using Fil-C”
  • Leaves some bug classes uncovered

    “Fil-C takes one particular class of allocation related bugs and UB off the table, but leaves many of them behind.”

    Comment from 12 Sep 2026 in “Compiler Can Undo Your Security Checks”

    “the comparison becomes a bit apples vs pears when bragging about how much more memory-safe Fil-C is than Rust”

    Comment from 25 Jul 2026 in “Fil-C: Garbage In, Memory Safety Out – Filip Pizlo – SSW 2026 [video]”

    “optimization passes are still able to do things that wouldn't be possible without UB, like falling through functions and deleting safety checks inserted by the Fil-C runtime”

    Comment from 26 Oct 2026 in “Attention people who think UB is fine”

Other c compilers people recommend

The four most recommended other c 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.

Fil-C compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Fil-CThis page1606073%13—Approved
Claude's C Compiler398332%5——
Visual C++291763%12——
Tiny C Compiler (TCC)22388%9—Approved
Microsoft Visual C++ compiler (MSVC)202941%9——
See all 18 c compilers, ranked

What people said

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

“optimization passes are still able to do things that wouldn't be possible without UB, like falling through functions and deleting safety checks inserted by the Fil-C runtime”

CriticizesComment from 26 Oct 2026 in “Attention people who think UB is fine”

“There is now an iron clad defense against all memory safety bugs leading to RCE that is actually practical to use in production in many cases”

RecommendsComment from 21 Oct 2026 in “PHP 8.2.35”

“This improves the situation greatly by converting most interesting cases of unsound behavior into runtime errors.”

MixedComment from 14 Oct 2026 in “11 year old unsoundness bugs found in Rust borrow checker”

“it has stronger memory safety guarantees than rust, none of the compatibility issues that a wholesale rewrite has”

RecommendsComment from 15 Sep 2026 in “Ubuntu 26.10 completes transition to Rust-based coreutils”

“Fil-C takes one particular class of allocation related bugs and UB off the table, but leaves many of them behind.”

MixedComment from 12 Sep 2026 in “Compiler Can Undo Your Security Checks”

“you need Fil-C or similar runtime handling so that any time its behaviour would become undefined the program exits instead”

RecommendsComment from 12 Sep 2026 in “Compiler Can Undo Your Security Checks”

“intra object overflows are almost never useful for memory corruption exploits unless they let you corrupt a pointer”

RecommendsComment from 29 Jul 2026 in “Zig's Incremental Compilation Internals”

“chosen a definition of memory safety that specifically excludes a bunch of overflow vulnerabilities and type confusion”

CriticizesComment from 26 Jul 2026 in “Memory Safety Absolutists”

“Tools like Fil-C, hardened mallocs like SlimGuard, and other "make C safe" solutions all sacrifice absurd amounts of performance”

MixedComment from 26 Jul 2026 in “Memory Safety Absolutists”

“Technical innovation is memory safety with high level of compatibility with existing C and C++ in practice.”

RecommendsComment from 26 Jul 2026 in “Memory Safety Absolutists”

“what I like is that it works with existing C++ code; I don't think the extra safety relative to Rust is worth the performance penalty”

MixedComment from 26 Jul 2026 in “Fil-C: Garbage In, Memory Safety Out – Filip Pizlo – SSW 2026 [video]”

“In Fil-C, no such specialists are needed, and the pool of unsafety is closed and fixed, no matter what programs, algorithms, data structures you use.”

RecommendsComment from 25 Jul 2026 in “Fil-C: Garbage In, Memory Safety Out – Filip Pizlo – SSW 2026 [video]”

“When I write new code in Fil-C, I just lean into the GC all the way, which makes programming in C and C++ so much nicer.”

RecommendsComment from 25 Jul 2026 in “Fil-C: Garbage In, Memory Safety Out – Filip Pizlo – SSW 2026 [video]”

“Sure, GC's are nice which is why so many langs have them, but that removes the deterministic allocation performance which most C/C++ programmers want”

MixedComment from 25 Jul 2026 in “Fil-C: Garbage In, Memory Safety Out – Filip Pizlo – SSW 2026 [video]”

“the comparison becomes a bit apples vs pears when bragging about how much more memory-safe Fil-C is than Rust”

MixedComment from 25 Jul 2026 in “Fil-C: Garbage In, Memory Safety Out – Filip Pizlo – SSW 2026 [video]”

“The thing that makes races hard to debug in C or C++ is memory corruption; that doesn't happen in Fil-C”

RecommendsComment from 25 Jul 2026 in “Fil-C: Garbage In, Memory Safety Out – Filip Pizlo – SSW 2026 [video]”

“Those languages rely on a much larger pile of YOLO C/C++ code for their runtimes and standard libraries than Fil-C does.”

RecommendsComment from 24 Jul 2026 in “Fil-C: Garbage In, Memory Safety Out – Filip Pizlo – SSW 2026 [video]”

“let me know when I can call process_vm_writev or ptrace and have Fil-C verify safety properties on the result.”

CriticizesComment from 24 Jul 2026 in “Fil-C: Garbage In, Memory Safety Out – Filip Pizlo – SSW 2026 [video]”

“Caught multiple memory safety issues in a nice deterministic way, so designing the object model was easier than it would have been otherwise.”

RecommendsComment from 21 Apr 2026 in “How to Make a Fast Dynamic Language Interpreter”

“I don't think fil-c is a drop in C replacement, there are things you can do in C such as certain types of pointer abuse that fil-c prohibits”

MixedComment from 20 Apr 2026 in “A simplified model of Fil-C”

“Not everyone wants to recompile the whole app and dependencies with filc to get a slowdown, extra memory use and safety.”

MixedComment from 15 Dec 2025 in “Problems with D-Bus on the Linux desktop”

“Fil-C will panic your program, or give some kind of memory safe outcome (that is of no use to the attacker)”

RecommendsComment from 14 Dec 2025 in “Linux Sandboxes and Fil-C”

“It's a fantastic piece of work (I reviewed some part of it) that will very likely play an important role in the future”

MixedComment from 14 Dec 2025 in “Linux Sandboxes and Fil-C”

“Fil-C makes a lot of sense to me if the goal is to simply take existing legacy software and recompile it in a more memory safe way”

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

“sudo compiled with Fil-C: uses pam compiled with Fil-C, and all of pam's dependencies are compiled with Fil-C, so the whole thing is memory safe.”

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

“It might have a beautiful niche for safely sandboxing legacy code. But I don't see any compelling reason to use it for new code.”

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

“easy wins that could make the world less fragile with a much smaller intermediate effort, eg with something like FilC”

RecommendsComment from 17 Nov 2025 in “Giving C a superpower: custom header file (safe_c.h)”

“The performance drop of Fil-C (as described in the article) limits the usage, and the GC (independently) limits the usage.”

MixedComment from 7 Nov 2025 in “A Note on Fil-C”

“Compiling it using Fil-C is a nice academic exercise but not really helpful, since the whole point of those custom data structures is peak performance.”

CriticizesComment from 7 Nov 2025 in “A Note on Fil-C”

“for this to work, tracing GC can not be used. And this is what prevents Fil-C and many other languages to be used in that area.”

CriticizesComment from 7 Nov 2025 in “A Note on Fil-C”

“If Fil-C can fulfill its promise to make old C code memory safe, it will be a massive benefit to the world.”

RecommendsComment from 7 Nov 2025 in “A Note on Fil-C”

“I can write the networking parts in Rust and the rest of the program in C, but apparently can't do the same with Fil-C.”

CriticizesComment from 3 Nov 2025 in “Notes by djb on using Fil-C”

“Choosing to use Fil-C to recompile existing (established, stabilized, functional...) software rather than rewrite it is an engineering choice.”

RecommendsComment from 2 Nov 2025 in “Notes by djb on using Fil-C”

“the niche is rebuilding your entire GNU/Linux userland with full memory safety and completely acceptable performance”

RecommendsComment from 2 Nov 2025 in “Notes by djb on using Fil-C”

“As far as I understand, Fil-C changes the ABI of the system, therefore it requires a new architecture in Debian terminology”

CriticizesComment from 2 Nov 2025 in “Hard Rust requirements from May onward”

“The main advantage of Fil-C is compatibility with C, in a secure way. The disadvantages are speed, and garbage collection.”

MixedComment from 2 Nov 2025 in “Notes by djb on using Fil-C”

“The code I've seen that was autotranslated from C to Rust has an absolutely hopeless number of unsafe statements.”

RecommendsComment from 2 Nov 2025 on Hacker News

“So, with Fil-C, there would be no need to ruffle feathers by telling port maintainers to support a new toolchain!”

RecommendsComment from 1 Nov 2025 in “Hard Rust requirements from May onward”

“Fil-C is and despite its originator's confidence always will be bigger and slower than what you have today”

MixedComment from 1 Nov 2025 in “Hard Rust requirements from May onward”

“Bringing up the fil-C toolchain on weird ports is probably less work than bringing up the Rust toolchain”

RecommendsComment from 1 Nov 2025 in “Hard Rust requirements from May onward”

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