Remix.run Logo
cadamsdotcom 16 hours ago

The boundary isn't code vs specs.

The boundary is wherever you let go of determinism.

If you can deterministically turn specs into the same code every time, congratulations! But all you've done is made a higher level language.

LLMs are useful to bring more vagaries of the real world into the realm of determinism, and the tool we use to do that is code.

Specs fail to codify all kinds of externalities that become risks over time: how UIs look is subject to fashion trends, for example - and your users may be quite happy with the UI in the old version, but you regenerated it from specs and whoops! Now it's not accessible anymore! Also the OK button is now hooked up to a string that maps to an event handler that doesn't exist because it wasn't locked down in a spec. Whoops!

Hopefully you can see how it's not about code - what it's actually about is the way in which code codifies a desired result in a deterministic way, and does as efficiently as anything else we've invented so far.