Hacker News new | ask | show | jobs
by javier_e06 2 days ago
The 3 big ones, Linux, GCC and Git require a human to vouch/explain the work in question.

Once the 3 big ones start using LLM to review/accept the work for speed reliability sake, who knows what is going to happen.

2 comments

If you are asking a human to review something, it should have been verified/reviewed by a human first.

I have no interest reading someone else’s ai output that has not been verified.

Agreedm Modifying Hitchen's Maxim - "That which can be asserted without thought and be dismissed without thought".

Or to put it another way, expecting me to review code you didn't and had an LLM generate is pushing the onus onto me and that's not happening.

My personal adaptation of Hitchen's Razor for LLM content is that "that which is brought for review with low effort, must be dismissed with as much or less effort".

I think there's a category of Denial of Service vulnerabilities that we call 'amplified DoS' attacks, where the asymmetry of effort allows an attacker to generate a disproportional waste of resources, submitting LLM content output that magnifies the volume of the input, I think is a form of such attack, and hiding the fact that it is LLM would be the cherry that adds maliciousness.

Already happened. My AI coded C compiler already bypassed gcc in less failures, compiles 10x faster, and with their new policy they'll fall far behind.
Does your compiler replicate 100% of gcc's functionality? I've heard of similar compiler projects skimping on the lesser used functions and taking shortcuts. gcc is BIG.

But the real point is even if we get an ability to AI generate an accurate and fully-featured C compiler from scratch, everyone will keep using gcc. C compilers are solved, gcc is already here and it's pretty amazing. It's not flawed or in need of replacement, there's nothing for it to fall far behind on. We don't need another C compiler, the reason why AI users are attracted to the topic is just to "look ma, no hands!". And using gcc also ensures that I'm using something that has been looked at by thousands of qualified eyes in the past and will be looked at by thousands more for the foreseeable future. Will an AI compiler be comprehensible in ten years? Will every update be guaranteed to be better than the previous?

Of course not. I don't care for gcc's broken optimizer to remove dead code without any warning.

gcc has too many bugs for my taste, sorry. And I don't want to wait 20m on gcc compilation, when tcc can do it in 1m.

If you're just declaring gcc broken and removing its functionality, then why compare yourself to it? For any of the metrics you're using to hold water, you want the project to actually be comparable to gcc in terms of features, otherwise you could just remove half of their features and declare yourself as more efficient because half of gcc would compile faster than gcc.

And why are you talking about the optimizer? What I'm curious about is whether this compiler will successfully compile any project that can be compiled with gcc. Will it?

In addition to build time comparisons not meaning anything if the projects aren't equivalent, I also just don't get why it's so important. Most people don't spend their days recompiling gcc, they just want it to compile their projects quickly and accurately.

It compiles the kernel and my big projects, but I haven't released it yet.

Feature wise I don't do bitint, decimal and FloatX. No auto-vectorization, but better than most simd/neon projects, which don't use __attribute__((vector_size(N))). Manual vectorization.

no sanitizers nor flto.

rcc is for the people who want to compile their projects sanily, and fast. And who want to find unicode attacks. And for those who run into tcc bugs, there are many still. gcc and clang are insanily slow.

C compilers are already so fast... Now a fast C++ or rust compiler would be useful.
A bold claim with no sources to back it up.
Prove it and that your compiler is fully C compliant and can handle all possible inputs GCC can accept (and optimize as well as GCC), then we'll talk. Only then will your compiler risk leaving GCC behind.
The proof is gcc's torture test suite. Have a look
I did also say optimize as well as. As in: your compiler needs to be genuinely better than GCC to compete with it. Good Windows support is a start, but you have yet to reach architecture equality of what GCC provides (which is fair I suppose) and you shell out to GCC for linking (which is pretty funny given that you claim GCC is being left behind...). Although "being left behind" is so nebulous as to be meaningless. For example does your compiler autovectorize? It doesn't look at a glance like it supports OpenMP or OpenACC either.
No openmp, no openacc, though that would all be trivial. For linking, my own linker still has a lot of regressions, but is at least 10x faster than shelling out to gcc/ld. Similar to tcc. No linker scripts, no LTO via the native linker. rcc can easily fallback to the gcc linker for such features.

Auto vectorization would need extensive -O3 opts, which I dont do yet. No ssa, no escape analysis. The compiler should stay fast. And I prefer manual vectorization via attributes. Still better than using the insane and platform dependent SSE/neon apis, everyone else is using. See the torture/vect/ tests. They all pass

I see that the fantasy world of llms is still strong