Daniel Lemire's blog
AI programming: a layered model

In the late 1960s and 1970s, people like David Parnas faced a problem. A decade earlier there were almost no programmers. Suddenly there were hordes of inexperienced ones. What could have been a golden era was turning into a mess: far more software, much of it falling apart.

It sent Edsger Dijkstra into a depression. Does this sound familiar?

AI-assisted coding is producing far more code. Whether the projects will work or crumble remains to be seen. There is a danger.

I’d like to propose the layered model.

Keep a small core that changes slowly and on purpose. For that part you actually read the code. You insist on tests. You can use AI assistance, but there is no vibe coding allowed.

Everything else can move fast. There will be bugs, but the AI fixes them quickly.

Dependencies should be one way: the outer layers depend on the core. The core cannot depend on the outer layers.

source
 
 
Back to Top