Live data from Hacker News

Vibe coding as a coding veteran: from 8-bit assembly to English-as-code

levelup.gitconnected.com

81–90 of 132 posts

Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code

#81
post #7

Earlier quoted context omitted.

Yeah, exactly the same for me. It's tiring writing the same CRUD endpoints a thousand times, but that's how useful products are made.

I wonder why it’s not the norm to use code generation or some other form of meta programming to handle this boring repetitive work?

Leaky abstractions. Lots of meta programming frameworks tried to do this over the years (take out as much crud as possible) but it always ends up that there is some edge case your unique program needs that isn’t handled and then it is a mess to try to hack the meta programming aspects to add what you need. Think of all the hundreds of frameworks that try to add an automatic REST API to a database table, but then you need permissions, domain specific logic, special views, etc, etc. and it ends up just easier to write it yourself.

If you can imagine an evolutionary function of noabstraction -> total abstraction oscilating overtime, the current batch of frameworks like Django and others are roughly the local maxima that was settled on. Enough to do what you need, but doesn’t do too much so its easy to customize to your use case.

Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code

#82

My experience exactly. (including nearly 40 years of code exposure) I just wish there was an alternative to Claude sonnet 4. I see gemini pro 2.5 as a side girlfriend, but only Claude truly vibes with me.

If Claude vibes with you, why do you need an alternative?

Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code

#83

If I was told I'd be working with a fellow programmer who would make all the mistakes listed in Section 5 of the article, I'd have to say "no thanks". Yet the author ends with "I don’t think I will ever code again without the assistance of an AI model". He's a lot more thick-skinned than I.

Some people also value programs for their productive ends rather than value them for the process of writing them in a pleasing way. Personally, I've been getting more done than ever with Claude Code. That I am able to work just a few minutes at a time then let the machine go is really nice as a parent. For those of us who don't program for a day job, but need programs for our day job, Claude and friends have completely changed what's possible.

Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code

#84
post #60

Earlier quoted context omitted.

You're not just hitting go and reviewing code though. If someone asked how I built a side project and I said "reviewing code" it would make no sense.

> If someone asked how I built a side project Then you might have to say the truth: that you didn't build it, but Claude/OpenAI/Gemini built it under your supervision.

Now we're getting somewhere. I think there's more than just supervision involved though. The ideas, direction and design are also provided by the person driving and reviewing output from the agents.

Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code

#85

Basically, at place we've a coding agent in a while loop. What it does is pretty simple. You give it a problem, setup enviornment with libraries and all. It continuously makes changes to the program, then checks it output. And iteratively improves it. For example, we used it to build a new method to apply diffs generated by LLMs to files. As different models are good at different things, we managed to run it against…

What kind of problems have you been throwing at it?

Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code

#86
post #3

I've come to view LLMs as a consulting firm where, for each request, I have a 50% chance of getting either an expert or an intern writing my code, and there's no way to tell which. Sometimes I accept this, and I vibe-code, when I don't care about the result. When I do care about the result, I have to read every line myself. Since reading code is harder than writing it, this takes longer, but LLMs have made me too laz…

I still have doubts but I am warming up to Claude Code. Sometimes it gets in these ruts where it tries something wrong, gets shown it's wrong, keeps digging, and can't even explain how its failed suggestions could even work. Other times, it seems to reproduce the kinds of insights (and even judgment) that I'd expect out of an actual practitioner. After suggesting code to fix problems, I always ask it to explain the c…

It seems to be just playing the “yes and” improv game with you. You might want to also try prompting it against the same suggestions and see if it changes to follow your lead or continues to hold the original opinion.

Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code

#87

My experience exactly. (including nearly 40 years of code exposure) I just wish there was an alternative to Claude sonnet 4. I see gemini pro 2.5 as a side girlfriend, but only Claude truly vibes with me.

If Claude vibes with you, why do you need an alternative?

If you only have one choice, that is exactly why you need more choices. After doubling their prices and adding quotas with 5 hour pauses, I don't trust anthropic to not pull the rug again.

Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code

#88
It's an awesome article but one thing makes me twitch

`wrote a non-optimal algorithm and claimed it is optimal (in terms of guaranteed shortest solution) until (sometimes later) I noticed the bug;`

That's my general concern, that the Ai generation would make mistakes that I would otherwise catch, but getting into the vibe, I might start to trust the AI a bit too much, and all those lovely subtle bugs might pop up.

Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code

#89
post #53

Earlier quoted context omitted.

I beg to differ.

Why is reading code harder than writing it?

I think it has to do with mental model. If you already know what to write and it is reasonably complex you'll have a mental model ready and can quickly write it down (now even faster as LLMs autocomplete 3-4 lines at a time). While reading someone else code you'll have to constantly map the code in your mind with code written and have to then compare quality, security and other issues.

Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code

#90
post #68

Earlier quoted context omitted.

I wonder why it’s not the norm to use code generation or some other form of meta programming to handle this boring repetitive work?

Because, like a carpenter doesn't always make the same table, but can be tired of always making tables, I don't always write the exact same CRUD endpoints, but am tired of always writing CRUD endpoints.

I think your analogy shows why LLMs are useful, despite being kinda bad. We need some programming tool to which we can say, "like this CRUD endpoint, but different in this and that". Our other metaprogramming tools cannot do that, but LLMs kinda can.

I think now we have identified this problem (programmers need more abstract metaprogramming tools) and a sort of practical engineering solution (train LLM on code), it's time for researchers (in the nascent field of metaprogramming, aka applied logic) to recognize this and create some useful theories, that will help to guide this.

In my opinion, it should lead to adoption of richer (more modal and more fuzzy) logics in metaprogramming (aside from just typed lambda calculus on which our current programming languages are based). That way, we will be able to express and handle uncertainty (e.g. have a model of what constitutes a CRUD endpoint in an application) in a controlled and consistent way.

This is similar how programming is evolving from imperative with crude types into something more declarative with richer types. (Roughly, types are the specification and the code is the solution.) With a good set of fuzzy type primitives, it would be possible to define a type of "CRUD endpoint", and then answer the question if the given program has that type.

Post reply on HN