17 ms·
Can someone explain to me, what’s the big deal about this? The AI model was trained on lots of code and spit out sonething similar than gcc. Why is this revolut
by mdavid626 8mo ago
Can someone explain to me, what’s the big deal about this?
The AI model was trained on lots of code and spit out sonething similar than gcc. Why is this revolutionary?
- Ar-Curunir 8mo agoIf someone told you 5 years ago that a computer generated a working C compiler, would you think it was a big deal or not?
- chadcmulligan 8mo agoyeah its pretty amazing it can do this. The problem is the gaslighting by the companies making this - "see we can create compilers, we won't need programmers", programmers - "this is crap, are you insane?", classic gas lighting.
- simianwords 8mo agoIt’s giving you an idea of what Claude is capable of - creating a project at the complexity of a small compiler. I don’t know if it can replace programmers but can definitely handle tasks of smaller complexity autonomously.
- measurablefunc 8mo agoYou are incorrect. You can not conclude something of lower complexity will not stump it.
- chadcmulligan 8mo ago"autonomously" I couldn't agree with, I use it regularly for 100-200 loc size stuff, I can't recall it ever being right the first time.
- simianwords 8mo agoAutonomously means giving it access to run tests and compiler
- vidarh 8mo agoI regularly has it produce 10k+ lines of code that is working and passing extensive test suites. If you give it a prompt and no agent loop and test harness, then sure, you'll need to waste your time babysitting it.
- chadcmulligan 8mo agoIf you give it a test harness then you're doing TDD? That will only work if you know what you're building, which is seldom the case.
- vidarh 8mo agoTDD does not require you to know everything you're building up-front. Tests can come out of experimentation, to validate the final build. Tests can be driven by autonomous directed planning. I'm currently, in fact, working on a system where the LLM semi-independently build up an understanding of a project and its goals from exploration, and then creates small targeted improvement plans, including the acceptance criteria that then feeds into building test suites which the build will finally be measured against. It still needs direction - if you have a large spec or a judge/fitness function, such as you would for a compiler for an existing language, you can achieve a lot just from using that and may not need much additional direction. But even for far more exploratory projects, you can have the LLM surface perceived goals and plans to meet those goals, and "teach it" on the way by giving it points on how to revise a given goal or plan, and have e.g. implementation successes and failures feed into future plans. My current system has "learned" [1] quite quickly on fairly complex test projects, and I'm in fact right now testing it on a hobby compiler project. The first cycles are frustrating (and an area I'm refining), because it's dumped into a project it doesn't know the real motivations for, and it will start making some code changes you know are bad, and letting go obsessing over that is hard. But ultimately using it as input to a feedback cycle where you add to its goals (e.g. make clear one of the goals is code that meets your specific standards) is more useful than managing it in detail yourself. I'm very closet to putting this improvement agent in a cron job for a project I rely on for day to day use (yes, I'll make sure I can roll back), because it now very consistently implements improvements both entirely unilaterally, or based on minor hints (it has access to some files on my desktop, including a "journal" of sorts, and if I put a one-liner about an idea or frustration, I'll often come back to find a 300+ line implementation plan for a change to fix it, or lay the foundation for fixing it. [1] "Learned" in this instance is in quotes for a reason. I'm not fine-tuning models - I have the agent do a retro of its own plan executions, and update documents with "lessons learned" that gets fed into the next planning stage.
- mdavid626 8mo agoSounds amazing, but the computer didn’t do it out of blue with intelligence, but more like cookie-cutter style from already existing code. What’s the big deal about that?
- simianwords 8mo agoThat’s not true. It didn’t have access to the internet and no LLM has the fidelity to reproduce code verbatim from its training data at the project level. In this case, it’s true that compilers were in its training data but only helped at the conceptual level and not spitting verbatim gcc code.
- mdavid626 8mo ago> In this case, it’s true that compilers were in its training data but only helped at the conceptual level and not spitting verbatim gcc code. How do you know that? At this point AI coding feels like religion. You have to believe in it.
- simianwords 8mo agoHow do I know that? The code is not similar to GCC at any level except conceptual. If you can point out the similarity at any level I might agree with you.
- mdavid626 8mo agoI have a feeling, you didn't look at the code at all.
- simianwords 8mo agoI would love to see and be proved wrong that the code is not similar to gcc. Please point it out
- pertymcpert 8mo ago
- eb08a167 8mo agoA computer generating a compiler is nothing new. Unzip has done this many many times. The key difference is that unzip extracts data from an archive in a deterministic way, while LLMs recover data from the training dataset using a lossy statistical model. Aid that with a feedback loop and a rich test suite, and you get exactly what Anthropic has achieved. While I agree that the technology behind this is impressive, the biggest issue is license infringement. Everyone knows there's GPL code in the training data, yet there's no trace of acknowledgment of the original authors.
- m4rtink 8mo agoIts already bad enough people are using non-GPL compilers like LLVM (that make malicious behavior like proprietary incompatible forks possible), so yet another compiler not-under GPL, that even AI-washes GPL code, is not a good thing.
- vidarh 8mo agoIf you can show us code it has infringed on, you might have a point. Until then, you are making unfounded accusations.
- player1234 8mo ago[dead]
- 1718627440 8mo agoThese tools do not compete against the lonely programmer that writes everything from scratch they compete with the existing tooling. 5 years ago compiler generators already exist, as they did in the previous decades. That is a solved problem. People still like the handroll their parsers, not because generating wouldn't work, but because it has other benefits (maintainability, adaption, better diagnostics). Perfectly fine working code is routinely thrown away and reimplemented, because there are not enough people around anymore who know the code by heart. "The big Rewrite" is a meme for a reason.
- deleted 8mo ago[deleted]
- measurablefunc 8mo agoIt's a marketing gimmick. Cursor did the same recently when they claimed to have created a working browsers but it was basically just a bunch of open source software glued together into something barely functional for a PR stunt.
- simianwords 8mo agoIncorrect. This compiler can compile and run doom.
- measurablefunc 8mo agoClaims require evidence so where is your evidence?
- simianwords 8mo agohttps://www.anthropic.com/engineering/building-c-compiler https://www.anthropic.com/engineering/building-c-compiler
- butipaidfor 8mo agoChalmers: "May I see it?" Anthropic: "No."
- deleted 8mo ago[deleted]