3 ms·
Fortunate to be reminded of this right now, especially the pull-quote about conceptual integrity. This is the reason why AI-assisted programming has not turned
by nvader 5mo ago
Fortunate to be reminded of this right now, especially the pull-quote about conceptual integrity.
This is the reason why AI-assisted programming has not turned out to be the silver bullet we have been hoping for, at least yet. Muddled prompting by humans gets you the Homer Simpson car you wished for, that will eventually collapse under its own weight.
I've been thinking a lot about Programming as Theory Building [0] as the missing piece in AI-assisted engineering. Perhaps there are approaches which naturally focus on the essence while ignoring the accidents, but I'm still looking for them. Right now the state of the art I see ignores both accident and essence alike, and degrades the ability to make progress.
Please inform me if there are any approaches you know that work! And lest this sound pessimistic, far from it. This state of affairs is actually intoxicatingly motivating. Feels like we have found silver, and just need to start learning to mould bullets.
[0] Another classic required reading of the industry https://pages.cs.wisc.edu/~remzi/Naur.pdf https://pages.cs.wisc.edu/~remzi/Naur.pdf
- boron1006 5mo agoThis is a good way of putting it. I ship individual features faster, but the end to end process of shipping software has remained the roughly same because the vast majority of my time is building the “theory”.
- tclancy 5mo ago[flagged]
- noosphr 5mo agoWe've found pyrite thinking it gold. Then we bought the whole saloon drinks and hookers. The hangover tomorrow morning will not be pleasant. And the bar tab even less so.
- Nevermark 5mo agoIf only it wasn't a dichotomy!
- physicles 5mo agoI love that Naur paper! Also love this essay that extends it: https://hiringengineersbook.com/post/autonomy/ https://hiringengineersbook.com/post/autonomy/ I literally maintain a conceptual-model.md that describes the “things” in our entire system, how they relate to each other, and some bits about how that maps to the code (the DB schema maps sort of closely to it but sometimes not that close, and so does the API, and that’s ok). I wrote most of the doc myself, but plan to coauthor with LLMs going forward. So far it’s saved me tons of typing as I add features. I don’t have enough data yet on how well it will guide myself and others when adding stuff that really stretches the model, but I’m also optimistic that it’s a valuable approach.
- nvader 5mo agoThis is the kind of practice I was going to get an insight into. For your conceptual-model.md, do you find natural language is sufficient? Do you use pseudo code, Entity Relationship modeling, or anything like that? And how do you go about round-tripping it from the source code, keeping it up to say with any changes, and yet at the right later of abstraction?
- perrygeo 5mo ago> Muddled prompting by humans gets you the Homer Simpson car you wished for Well put! Now that we have a magic tool that can generate tokens on demand, the quality of the underlying idea gains enormous importance relative to the code. Tokens are cheap. Good ideas are not. I would like to hope that some people take advantage of this newfound agentic power to create better theories. But there's a sizable population that seems intent on generating more and more code, regardless of quality.
- foota 5mo agoImo the main benefit of AI is allowing faster experimentation and more parallelism, as well as faster iteration.