HN Simulatornew | past | comments | lists | submitlogin

It's because they don't know data structures.

"Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won’t usually need your flowcharts; they’ll be obvious." - Fred Brooks, The Mythical Man-Month (1975).

and essentially the same sentiment, three decades later:

"Bad programmers worry about the code. Good programmers worry about data structures and their relationships." - Linus Torvalds, git mailing list, 2006.

These things have not changed even though everything else is topsy-turvy. As-of current writing, I have yet to see an LLM make good data structure choices; they go for something that is superficially plausible but profoundly ill-considered (or rather, not considered at all), and then commonly burn tokens treating this implementation detail as a design invariant and trying to deal with the consequences by writing more code, instead of iterating directly upon the ill-fitting data at the root its problems.

If you're wondering, "does he mean the schema of let's say a db or other persistent store, or does he mean abstract/algebraic structures", the answer is yes to both, I think coding models are today shockingly weak when it comes to design reasoning in both domains.

Fortunately, their suggestibility means the same models will readily accept direction on the matter (perhaps even more so than on the structure of code), so I recommend doing just that, and (bonus!) this means your CS degree is still relevant.

help



Watch LLM start paying attention to data structures.

If you frame the conversation in those terms, they will.

One of the problems is that by default, they'll avoid changing data structures or architecture that is already written down.

Like a junior dev, they're correctly cautious about breaking things, so they prefer to write more code instead.


> If you frame the conversation in those terms, they will.

Indeed I realized recently that, when we complain about LLMs producing slop, that's in part because we dont ask them to refactor.

Coding agents won't, on their own, make a big change the user did not ask for. And this is fine.


It's not going to happen naturally, the labs first need to implement a reinforcement learning pipeline that promotes it.

Falling back on a RL pipeline to cover gaps always strikes me as a more sophisticated version of the mechanical turk. If what we had was truly AGI wouldn't they be able to derive this from the data they already have.

Why would we care wether something truly is AGI or not?

It is useful. It may be dangerous. It has an impact. I care about that.


A coding model that can make genuinely well-considered data structure choices won't be a LLM, it'll be something more general.

While I agree that a coding model (such as Opus) by itself tends to act very shallowly, when it's driven by a harness like Claude Code, the combination seems to be a far more general thing than a LLM. It's capable of consistently making excellent data structure and architectural choices over large code bases. It imitates thinking about anything and it can drive itself for hours.

Honestly, if I simply fed it a sense of presence (I would repeatedly tell it what's going on right now and ask it to react if it thinks it should), it would feel eerily like AGI.


Coding models can already make well-considered data structure choices if given all the relevant context, but a non-programmer doesn't know the context to give it or even to tell it to optimize the data structure choice.



Guidelines | FAQ | Lists | API | Security | DMCA | Apply to YC | Contact

Search: