I'm not particularly impressed that it can turn C into an SSA IR or assembly etc. The optimizations, however sophisticated is where anything impressive would be. Then again, we have lots of examples in the training set I would expect. C compilers are probably the most popular of all compilers. What would be more impressive is for it to have made a compiler for a well defined language that isn't very close to a popular language.
What I am impressed by is that the task it completed had many steps and the agent didn't get lost or caught in a loop in the many sessions and time it spent doing it.
> What would be more impressive is for it to have made a compiler for a well defined language that isn't very close to a popular language.
That doesn't seem difficult as long as you can translate it into a well-known IR. The Dragon Book for some reason spends all its time talking about frontend parsing, which does give you the impression it's impossible.
I agree writing compilers isn't especially difficult, but it is a lot of work and people are scared of it.
The hard part is UI - error handling and things like that.
There's another aspect of unit testing. It makes the units testable. The greatest benefit of this is that the units tend to be more coherent. A large blob of code that isn't unit tested may not have clear boundaries or a functional raison d'etre. Tests also serve as documentation or demos of the units which is great for onboarding devs later on.
Maybe AI analysis/synthesis will change the math on this, but beyond early prototypes and PoC's, tests pay for themselves.
> The first 90 percent of an AI coding project comes in fast and amazes you. The last 10 percent involves tediously filling in the details through back-and-forth trial-and-error conversation with the agent. Tasks that require deeper insight or understanding than what the agent can provide still require humans to make the connections and guide it in the right direction.
So then why not at this point switch to the human being primary author and only have the AI do reviews and touch ups? Or are we restricting ourselves to vibe coding only?
> The last 10 percent involves tediously filling in the details through back-and-forth trial-and-error conversation with the agent
It so often sounds like "traditional coding" flows like an orchestra during an opera while vibe and 'agentic' coding flows like a bunch of big bands practicing.
Are they trying to tell the story that "it's the same" or that "it's just not the same"? Is the toolchain changing that much that there is no reason to learn the baseline anymore? So the next ten years of AI development should be left to those who already weild the basic tools? Just like the economy? Is the narrative meant to establish a singularity-driven relationship with young coders, computer scientists and those who use code to entertain, inform and sell via media? While simultaneously pushing the outliers to the edge of the sphere and lock them out via their lack of AI skills and experience with such tools from ever reaching a proper chunk of the mob?
On the one hand, it's a personal decision. Trends and narratives can be convincing. Defactors are rare nowadays while polarization and the status quo are the defacto standard. So on the other hand, it's a depersonalized decision reinforcing the hierarchies (hardware) that dictate which tools (hardware, the cloud) dominate the main stream either way.
> Or are we restricting ourselves to vibe coding only?
> why not at this point switch to the human being primary author
It's the only choice. You are either the primary author of the code or of the learning material. In the former case, the latter is implied and you can't teach if you don't know.
In essence, all this "AI hype" should really only motivate. But these perceptions of "the end of stuff as we know it" and "NOW it's definitely not in my/our hands anymore" that is everywhere weighs heavy. So that the only "residue outcome" really is: making money is the only thing that's left ..., again, reinforcing the hierarchies (hardware) that dictate which tools (hardware, the cloud) dominate the main stream either way--whether you break under the weight or not, whether you shrugg it off or become versed enough to just carry it along--while establishing a singularity-driven relationship of the system with it's constituents.
Fun read. Yet another solution is to only do gc of the stack, a la "Cheney on the MTA" used by CHICKEN Scheme at one time. [No relation to Dave Cheney of the article.]
In the meantime, I'll advocate for evolving Markdown, specifically GFM.
I do use a custom keyboard layout, but that doesn't have to interoperate with anything/anyone.
Edit: I have a similar unpopular opinion: we should use functional languages and immutable datastructures. At least we some data of movement in that direction with the patterns being adopted by other languages and codebases.
What I am impressed by is that the task it completed had many steps and the agent didn't get lost or caught in a loop in the many sessions and time it spent doing it.
reply