Live data from Hacker News

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

levelup.gitconnected.com

61–70 of 132 posts

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

#61
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 context in more detail. I was recently using it help to develop a Qt C++ application, and ended up getting this interaction from it:

> Can you speculate on why this problem was only happening with these embedded buttons? Is this a flaw in Qt, or is this application trying to do something unusual?

  Why this problem occurred: This is a Qt design issue, not a flaw per se. Qt's item delegate editing model assumes editors are simple widgets (line edits, spin boxes, combo boxes) that don't spawn modal dialogs. When a modal dialog opens:

  1. The modal dialog steals focus from the editor button
  2. Qt's QAbstractItemView sees the FocusOut event and assumes editing is complete
  3. It calls QStyledItemDelegate::destroyEditor() to clean up the editor
  4. The button gets deleted while the color dialog is still running
  5. When the color dialog closes, it tries to interact with the deleted button

  This application is doing something unusual - using a button that spawns a modal dialog as a table cell editor. Most Qt delegates use immediate editing widgets (text fields, dropdowns) that don't require modal interactions.

  The eventFilter solution works by intercepting the FocusOut event that triggers editor destruction, essentially telling Qt "I'm still editing, don't destroy me yet."
> Is there a danger of leaked Qt resources now that we are blocking destruction?

  Yes, that's a valid concern. By blocking FocusOut events, we're preventing Qt's normal editor cleanup mechanism. However, the risk is likely minimal because:

  1. Qt still cleans up eventually - The editor will be destroyed when the table view itself is destroyed or when editing truly ends (e.g., clicking elsewhere, pressing Enter/Escape)
  2. Short-lived editors - These editor widgets are typically very short-lived (created when editing starts, destroyed when editing ends)
  3. Parent widget cleanup - Since the button has a parent widget, Qt's parent-child ownership will clean it up when the parent is destroyed

  To be completely safe, we could add a more targeted approach - only block FocusOut events while a color dialog is actively open, rather than blocking all FocusOut events. We could track when the modal dialog is shown/hidden and only filter during that window.

  But for this use case, the current solution should be fine since:
  - Color picking is infrequent
  - The editor lifetime is still bounded by the table view's normal lifecycle
  - Qt's parent-child cleanup provides a safety net

  The memory usage impact should be negligible compared to the complexity of implementing more sophisticated tracking.
-----

I've definitely had less-satisfying discussions over bugs with actual human senior software engineers than this.

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

#62
post #9

Earlier quoted context omitted.

100% this. I tried haskelling with LLMs and it’s performance is worse compared to Go. Although in fairness this was a year ago on GPT 3.5 IIRC

3.5 was a joke in coding compared to sonnet 4.

Yup fair point, it’s been some time. Although vibe coding is more “miss” than “hit” for me.

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

#63

I believe choosing a well known problem space in a well known language certainly influenced a lot of the behavior. AIs usefulness is correlated strongly with its training data and there’s no doubt been a significant amount of data about both the problem space and Python. I’d love to see how this compares when either the problem space is different or the language/ecosystem is different. It was a great read regardless!

ChatGPT is pretty useless at Prolog IME

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

#64
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.

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

#65
post #58
post #56

> English as code First time encountering the phrase. Evolution went from Machine Code to Assembly to Low-level programming languages to High-level programming languages (with frameworks), to... plain English.

that phrase was used all the time to describe HyperTalk and AppleTalk

In the early 70's Microdata trademarked "English" as the name of their SQL-like database retrieval language.

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

#66
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…

The multi-line autocomplete feels like the right middle ground (for me) when working in an existing code base with well established patterns. Adding new functionality is mostly a matter of scaffolding, commenting as I go, typing the first few characters of a code block and tabbing my way through the bulk of the code.

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

#67
post #7

Earlier quoted context omitted.

I've also had a similar experience. I have become too lazy since I started vibe-coding. My coding has transitioned from coder to code reviewer/fixer vey quickly. Overall I feel like it's a good thing because the last few years of my life has been a repetition of frontend components and api endpoints, which to me has become too monotonous so I am happy to have AI take over that grunt work while I supervise.

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?

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

#68
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?

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.

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

#69

I believe choosing a well known problem space in a well known language certainly influenced a lot of the behavior. AIs usefulness is correlated strongly with its training data and there’s no doubt been a significant amount of data about both the problem space and Python. I’d love to see how this compares when either the problem space is different or the language/ecosystem is different. It was a great read regardless!

One of my test queries for AI models is to ask it for an 8 bit asm function to do something that was invented recently enough that there is unlikely to be an implementation yet.

Multiplying two 24 bit posits in 8-bit Avr for instance. No models have succeeded yet, but usually because they try and put more than 8 bits into a register. Algorithmically it seems like they are on the right track but they don't seem to be able to hold the idea that registers are only 8-bits through the entirety of their response.

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

#70
post #9

Earlier quoted context omitted.

100% this. I tried haskelling with LLMs and it’s performance is worse compared to Go. Although in fairness this was a year ago on GPT 3.5 IIRC

3.5 was a joke in coding compared to sonnet 4.

It's so thrilling that this is actually true in just a year
Post reply on HN