News: 1770980413

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

OK, so Anthropic's AI built a C compiler. That don't impress me much

(2026/02/13)


Opinion I'm willing to be impressed by AI products, but Anthropic's AI‑built C compiler leaves me a bit cold. It's little more than a clever demo. It is not the moment when software engineering as we know it flips over and dies. Not even close.

Anthropic proudly claimed its team of [1]16 Claude Opus 4.6 agents had written a Rust-based C compiler from scratch without any access to the internet. Really? That's meant to impress me? Sure, as Anthropic claims, the AI-created C compiler can compile this, that, and the other thing. Yes, even Doom. But so what?

Anthropic's Claude Opus 4.6 spends $20K trying to write a C compiler [2]READ MORE

The C language is 53 years old. That's older than many of you. The C ecosystem has torture‑test suites that encode the subtleties of the language. There are gold‑standard reference compilers, GCC and Clang, to compare against at every step. In addition, I have no doubt that all the many open source C compilers and tools were already in Claude's LLM. How could they not be?

Saying it didn't access the internet is like a student saying: "I had copies of the code I was working on, but I'd turned my Wi-Fi off."

Some people seem to think writing a C compiler is hard work. Well, yes, if you're writing it in assembly language, it is. But I hate to break it to you: Computer science undergraduates write C compilers every semester. Heck, you can learn to do it yourself thanks to [3]Daniel McCarthy's Developing a C Compiler From Scratch online class. And the class will cost you a lot less than the $20,000 it cost Anthropic.

[4]

Anthropic's experiment starts after all of that hard work has been done, and it still fails. Sure, according to the headlines, it sounds great: "16 agents... two weeks... 100,000 lines of Rust... compiles Linux and Doom." Drill into the details and community testing, and the story is far less impressive.

[5]

[6]

For example, as several people pointed out on GitHub, because the Anthropic compiler doesn't include the path to the native C library on your system, [7]it can't compile "Hello World." As one person put it: "Apparently [8]compiling hello world exactly as the README says to is an unfair expectation of the software ." You can spell out the paths, of course, but as another person added, "you shouldn't have to lmao!" Oh, the shame of it all!

That's a nice litmus test. If your miracle compiler chokes on a canonical first example without hand‑holding, it's not ready to stand next to GCC and Clang in anyone's toolchain.

[9]

But, wait, there's more! Over in the Programming subreddit, one [10]top-rated comment spelled out in painful detail :

It lacks the 16-bit x86 compiler needed to boot Linux from real mode. For this, it calls out to GCC.

It does not have its own assembler and linker. The demo video was produced with a GCC assembler and linker.

The compiler successfully builds many projects, but not all. It's not yet a drop-in replacement for a real compiler.

The generated code isn't very efficient. Even with all optimizations enabled, it outputs less efficient code than GCC with all optimizations disabled.

The Rust code quality is reasonable, but it is nowhere near the quality of what an expert Rust programmer might produce.

Here's what Anthropic really did. It managed to write a half-assed C compiler in Rust that, based on existing open source code and with a lot of hand-holding, can run test suites and successfully compile Linux and other programs.​

The agent swarm did not wake up one morning and invent compilation. Reddit commenters noted that it was given "highly intricate and thorough test suites along with execution harnesses, all crafted by humans, with the harness designed specifically for the AI's use." Another comment calls it not much of a challenge "compared to beginning from the C specification when someone else has already broken down the issue, developed thorough tests, and provided a comparison with a recognized binary format. Their initial explanation of the task doesn't quite stand up to scrutiny."

[11]Just because Linus Torvalds vibe codes doesn't mean it's a good idea

[12]Hey programmers – is AI making us dumber?

[13]The US government wants developers to stop using C and C++

[14]Are you willing to pay $100k a year per developer on AI?

[15]When AI 'builds a browser,' check the repo before believing the hype

On top of that, you have the training‑data problem. One skeptic notes that the system "was developed using the very code base it is supposed to replicate. Additionally, the validation set was included in the training data." From that vantage point, what you're seeing is not AI discovering compilers from first principles, but a sophisticated retrieval‑and‑refinement process over a world already filled with compilers and compiler tests.

Over on Hacker News, commenters distilled the two narratives nicely: " [16]Pro-LLM coding agents: look! a working compiler built in a few hours by an agent! This is amazing! Anti-LLM coding agents: it's not a working compiler, though. And it doesn't matter how few hours it took, because it doesn't work. It's useless." The truth is in between – but it's much closer to an "interesting lab demo" than an "obituary for human programmers."

My real worry remains that AI-crazy companies will fire developers willy-nilly and replace them with AI to make their bottom line look better. AI simply isn't ready to take over programming jobs yet, no matter how many CEOs insist it's already a game-changer.

No, it's just a useful tool that requires careful, expert use to be effective. ®

Get our [17]Tech Resources



[1] https://www.anthropic.com/engineering/building-c-compiler

[2] https://www.theregister.com/2026/02/09/claude_opus_46_compiler/

[3] https://opencourser.com/course/0kvyr9/developing-a-c-compiler-from-scratch-module-1

[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/aiml&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2aY9YtM7BH6GFd-7mXQZ5QQAAANI&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/aiml&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44aY9YtM7BH6GFd-7mXQZ5QQAAANI&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[6] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/aiml&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33aY9YtM7BH6GFd-7mXQZ5QQAAANI&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[7] https://github.com/anthropics/claudes-c-compiler/issues/1

[8] https://github.com/anthropics/claudes-c-compiler/issues/1

[9] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/aiml&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44aY9YtM7BH6GFd-7mXQZ5QQAAANI&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[10] https://www.reddit.com/r/programming/comments/1qwzyu4/anthropic_built_a_c_compiler_using_a_team_of/

[11] https://www.theregister.com/2026/01/16/linus_torvalds_vibe_coding/

[12] https://www.theregister.com/2025/02/21/opinion_ai_dumber/

[13] https://www.theregister.com/2024/11/08/the_us_government_wants_developers/

[14] https://www.theregister.com/2025/08/15/are_you_willing_to_pay/

[15] https://www.theregister.com/2026/01/26/cursor_opinion/

[16] https://news.ycombinator.com/item?id=46941603

[17] https://whitepapers.theregister.com/



Exactly on point

MonkeyJuice

The generated code isn't very efficient. Even with all optimizations enabled, it outputs less efficient code than GCC with all optimizations disabled.

I actually rage posted and then immediately withdrew a comment to that effect under the original article. But since we're doing this at this point, and Anthropic are boasting that they have a 16ms budget for a console output and that what ncurses is a [1]game engine , I shall reproduce it here. Screw politeness, these are some of the largest companies on the planet yet have yet to make a profit, and the sheer amount of absolute bullshit they are peddling is astronomical. If we don't all push back and push back HARD, this nonsense will consume us all.

So here it is (quote from the [2]original article ):

====

> Other lessons? "The compiler successfully builds many projects, but not all. It's not yet a drop-in replacement for a real compiler." Moreover, "the generated code is not very efficient."

Um. So you spent $20k on a compiler that isn't complete and not very efficient? C is not a big, or complex language... 90% of the complexity of a C compiler is all those hairy bastard algorithms like loop invariant hoisting, using ILP to induct loop dependent variables, loop fusion, loop fission, loop jamming, instruction scheduling, computing control flow graph dominance frontiers, etc.

You can lock a competent undergrad in a room for two months with a copy of Aho and Ullman and get this for the cost of the pizzas slid under the door, only it will almost certainly at least work. Is this the most expensive abandonware compiler yet? Has Nicholas Carlini worked on a real compiler? If so- why is he even putting his name to this crappy output. If not? No wonder- this is *absolutely* not the flex he thinks it is.

The emperor needs to be hauled in front of a judge for indecent exposure at this point.

This is not 'next gen', this is just open fraud . And if you are peddling this, you are either too fucking stupid to be allowed near a compiler, or criminally dishonest.

[1] https://nitter.net/trq212/status/2014051499798831291#m

[2] https://www.theregister.com/2026/02/09/claude_opus_46_compiler/

Github issue section is today's entertainment

Dan 55

Just going [1]through the comments , apparently it can make sense of this... sort of:

$ cat main.c

#include "stdio.h"

int main(void) {

case 0: printf("hello, world!\n");

int x = "test";

printf("%d\n", x);

return 0;

}

$ ./ccc -I/usr/lib/gcc/x86_64-redhat-linux/15/include main.c -o main && ./main

hello, world!

4202515

Yep, I'll let that compile my production code from now on.

[1] https://github.com/anthropics/claudes-c-compiler/issues/1#issuecomment-3860444835

Re: Github issue section is today's entertainment

b0llchit

WTF? That's no compiler! That is pure trash!

Filippo

Like a lot of these LLM projects, the LLM is good at almost, but not quite solving the problem. Which means that the hype spinsters have an easy game of saying "look, it's nearly there, just give me another billion and we'll do it".

Except that it doesn't work that way. It's not nearly there. Not at all. Another billion, or ten or a hundred, won't cover that gap. And, in most fields, you need to solve the problem before you get ROI. Not "almost, but not quite" solve it.

MonkeyJuice

It's the intermittent reward that makes it so addictive (and the vibe-coder increasingly uncritical). Maybe one last pull on that one arm bandit is going to pay out?

So you feed your code back through the woodchipper, until the area you are working on seems reasonable. But like Charlie Chaplain trying to fit a bedsheet, you tuck that last corner under the mattress, and another two pop back up.

Vibe coding has made software shops stupider, and absolutely crushed productivity, at least in the West. But that doesn't matter, because it tells you how smart you are, and how cool the code we're writing is, which is the good enough immediate dopamine hit that you can drink rather than the true, natural reward of actually finishing the fucking thing to a professional standard after wading through the trenches.

Doesn't include the path to the native C library on your system

that one in the corner

Hate[1] to nitpick here, but[2]..

A C compiler doesn't need to (indeed, don't believe that it ever should) have a built-in knowledge of where the headers and object/library files are for your system: it can quite sensibly rely on picking those up from environment variables (or command line options or a config file standing in for cli options). So it worries me a *little* bit that the mocking isn't that this compiler is ignoring INCLUDE and LIB env vars but is phrased "native" anything. Dunno about *your* setups, but one of the earliest things my build system is wipe out the environment and start from scratch again, to pick up whichever LIB, INCLUDE - and PATH etc etc - is the right choice for the moment.

HOWEVER the compiler and readme not being accurate to each other is 100% a black mark.

As is *any* pretence that the LLM has spat out any kind of production-ready compiler - as is being pointed out by TFA, being able to start with full knowledge of the sources to tcc etc etc rates a very big "meh".

[1] Oh, who am I kidding, I love it; we all love to nitpick round here!

[2] Yes, this is a dig at the people commenting on this: if we want to get across to the Man on the Clapham Omnibus that this isn't what it is being hyped up to be then we have to be accurate in our complaints, to avoid being labelled merely as a "hater".

Re: Doesn't include the path to the native C library on your system

Jonathan Richards 1

Hate to break it to you, but the Man on the Clapham Omnibus is never going to be here reading the comments.

Re: Doesn't include the path to the native C library on your system

Anonymous Coward

That's why we make fun of him here.

Re: Doesn't include the path to the native C library on your system

Simon Harris

Oy!

Being a resident of south-west London, I do, on occasion, take the Clapham omnibus.

'Devs aren't nearly as won over'

VoiceOfTruth

Devs is a general term. It covers the whole spectrum from genius level programmers to Bob who downloads whatever he finds on the internet, includes or imports it into his 'app', and it runs. Yet Bob doesn't have the ability to read the code he slurped in.

And Bob's boss Burt, a non-developer, is no doubt impressed by the headline.

werdsmith

Looks like people are shitting themselves over what is nothing more than an experiment/demo again.

Anonymous Coward

For $20k, at that burn rate? A broken R&D project like this usually gets axed quietly, not proudly presented to the world.

Let's see a compiler for BBC BASIC

heyrick

No formal specification, not a huge amount of test code, and because there's no spec some code can do some pretty oddball things "because the interpreter allows it" (example, function with multiple entry points and can output multiple variable types - all logically illegal Gonzo code, but if done right it'll run quite happily).

Oh, and as far as I'm aware there are no open source compilers to crib from. I think only 3 were ever created, plus an unfinished pet project that technically works but outputs awful code because the project was abandoned before any sort of optimisation was implemented.

Re: Let's see a compiler for BBC BASIC

Simon Harris

But which BBC BASIC?

The original 6502 BBC Micro one, or one of the more modern ones that Richard Russell has been updating with new features for the last 30+ years?

Re: Let's see a compiler for BBC BASIC

heyrick

There are all the RISC OS ones in between. ;)

Whistling past the graveyard

JasonT

Turing's and Bernstein's chess engines weren't very good, certainly these chess AIs were never going to be good enough to human chess masters...

I don't think it's going to take 40 years (about the time it took time between Turing and Deep Blue beating Kasparov) before AI starts creating languages that will challenge newcomers like Rust and Zig. It will be interesting, and a good time to be retired from the industry.

"That don't impress me much"

Sandtitz

I would like to hear what would impress Mr. Vaughan-Nichols and others here.

Chip Salzenberg sent me a complete patch to add System V IPC (msg, sem and
shm calls), so I added them. If that bothers you, you can always undefine
them in config.sh. :-) -- Larry Wall in <9384@jpl-devvax.JPL.NASA.GOV>