Live data from Hacker News

If you're going to vibe code, why not do it in C?

stephenramsay.net

501–510 of 626 posts

Re: If you're going to vibe code, why not do it in C?

#501
Vibe coding benefits from hard limits relatively more than human coding. So in that sense, we should be coding in Rust (where raw performance is needed), Idris 2 or Haskell, and specifying with formal methods.

Perhaps the programming languages of the future will be designed with AI in mind: to properly put guardrails on it.

Could also be that the models just accelerate to the future so fast that they'll simply stop making mistakes. Then we'll be coding in Assembler, because why waste CPU time for anything else?

Re: If you're going to vibe code, why not do it in C?

#502

Earlier quoted context omitted.

We had a client who'd create incredibly detailed Jira tickets. Their lead developer (also their only developer) would write exactly how he'd want us to implement a given feature, and what the expected output would be. The guy is also a complete tool. I'd point out that what he described wasn't actually what they needed, and that there functionality was ... strange and didn't actually do anything useful. We'd be told…

Maybe you'll appreciate having it pointed out to you: you should work on your usage of "where" vs "were".

I would actually :-)

Re: If you're going to vibe code, why not do it in C?

#503

Earlier quoted context omitted.

> Software development jobs must be very diverse if even this anti-vibe-coding guy thinks AI coding definitely makes developers more productive. As a Professor of English who teaches programming to humanities students, the writer has had an extremely interesting and unusual academic career [1]. He sounds awesome, but I think it's fair to suggest he may not have much experience of large scale commercial software devel…

Hard to say but to back his claim that he was programming since the 90's his CV shows he was working on stuff that's clearly more than your basic undergraduate skill level since the early 2000's. I'd be willing to bet he has more years under his belt than most HN users. I mean I'm considered old here, in my mid 30's, and this guy has been programming most my life. Though that doesn't explicitly imply experience, or m…

> I'm considered old here, in my mid 30

That's absolutely not true. It was awkwardly funny to read that.

Re: If you're going to vibe code, why not do it in C?

#506

Vibe coding should be done in Python, and probably only in Python. If a project is important enough to require C or x86 assembly, where memory management and undefined behavior have real consequences, then it’s important enough to warrant a real developer who understands every line. It shouldn’t be vibe coded at all. Python’s “adorable concern for human problems” isn’t a bug here, it’s a feature. The garbage collecti…

I wouldn't limit it strictly to Python, but I agree that it should be limited to memory safe languages. Vibe code in C#, Rust or PHP if that suits your requirements, but C or assembly are indeed poor choices for the reasons you list

Re: If you're going to vibe code, why not do it in C?

#508
Great post. Love the writing style that is at once both casual and erudite.

I must take issue with the central point however: the machines of LLMs are very different than the machines of CPUs. While it is true that Claude writes fewer memory errors than even expert C programmers (I’ve had to fully accept this only this week), the LLM is still subject to mistakes that the compiler will catch. And I dare say the category of error coding agents commit are eerily similar to those of human developers.

Re: If you're going to vibe code, why not do it in C?

#509
post #491

Vibe coding should be done in Python, and probably only in Python. If a project is important enough to require C or x86 assembly, where memory management and undefined behavior have real consequences, then it’s important enough to warrant a real developer who understands every line. It shouldn’t be vibe coded at all. Python’s “adorable concern for human problems” isn’t a bug here, it’s a feature. The garbage collecti…

I'm really curious to see if Python will maintain this lead in the future or if all languages will catch up to the same level of accuracy. If not then I see the argument for everything being done in Python and performance coming from optimizing Python -> C.

I don't think we will ever reach the same accuracy simply because some languages are harder than others. Writing correct C (not just "working C") is difficult because of the number of footguns and the amount of reasoning and implicit state tracking you have to do in your head. LLMs are not free from this, if anything that's harder for them. Meanwhile languages like Java are more difficult just because they are verbose and spread information over many files. Languages that are explicit, not overly verbose and make it difficult to make subtle mistakes will always have the advantage with LLMs

I more bullish on the Python -> Rust pipeline. The two languages have a lot of overlap in philosophies, have great interop, and have similar levels of guard rails (when it comes to multithreading Rust even beats Python in terms of safety). And both languages seem well suited to being vibecoded

Re: If you're going to vibe code, why not do it in C?

#510
post #500

Vibe coding should be done in Python, and probably only in Python. If a project is important enough to require C or x86 assembly, where memory management and undefined behavior have real consequences, then it’s important enough to warrant a real developer who understands every line. It shouldn’t be vibe coded at all. Python’s “adorable concern for human problems” isn’t a bug here, it’s a feature. The garbage collecti…

Am I the only one who feels like this is the output of an LLM? A poorly written comment by a human wastes time. A vibe comment by an LLM wastes both time and electricity that only shows up when global warming reaches 3c. The question isn't if the comment is valuable or not. It's whether it is ethical or not to waste peoples time with AI slop. This is chatGPTs pattern.

Does not sound LLM generated to me

Edit: but I empathize with the paranoia of everything being AI slop! I’m constantly scrutinizing stuff and it’s annoying

Post reply on HN