A Philosophy of Software Design
Lance Bachmeier
no at spam.net
Sun May 24 13:13:16 UTC 2026
On Sunday, 24 May 2026 at 01:39:48 UTC, Walter Bright wrote:
> by John Ousterhout
> For example, the title of Chapter 10 is "Define Errors out of
> Existence". I've been trying to do that since the 1980s.
I haven't read that book, but Ousterhout has made the same point
elsewhere for years, and I've never grasped the practical side of
his argument. It would be nice to do, but it's a necessary part
of a working program.
> I've not vibe coded enough to see it for myself, but I've been
> told that AI generated code simply generates code until it
> works. It doesn't do very well at managing complexity.
> Something to watch out for.
There's a solution to this. I have the LLM program in a "new
language" and upload the spec with some examples. No global
state. A maximum of 60 lines in the body of a function. A maximum
of 10 function arguments. No code blocks. Only goto for jumping
around inside the function. You need to change the syntax to get
it to accept that you have a new language, so I require line
numbers at the start of every line.
The problem with just telling the LLM to write a D program that
does such and such without restrictions is that it wasn't trained
to impose constraints like this to keep the complexity under
control, and there's no way it can work well with the amount of
context that's required to write a program that can easily be
modified in the future.
More information about the Digitalmars-d
mailing list