<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/why-llms-can-t-make-your-code-simpler-answer-ai-janbsa0gu" -->

---
title: Why LLMs can’t make your code simpler – Answer.AI
description: Drawing on Peter Naur's 'Programming as Theory Building,' the piece argues that the real complexity of a program lives as an unwritten Theory in engineers'...
canonical: https://daily.dev/posts/why-llms-can-t-make-your-code-simpler-answer-ai-janbsa0gu
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Why LLMs can’t make your code simpler – Answer.AI | daily.dev
og:description: Drawing on Peter Naur's 'Programming as Theory Building,' the piece argues that the real complexity of a program lives as an unwritten Theory in engineers'...
og:url: https://daily.dev/posts/why-llms-can-t-make-your-code-simpler-answer-ai-janbsa0gu
og:image: https://api.daily.dev/og/posts/JAnBsa0gu.png
og:image:alt: Why LLMs can’t make your code simpler – Answer.AI
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Why LLMs can’t make your code simpler – Answer.AI

**[Answer.AI](https://daily.dev/sources/answerai)** · 13 min read · 0 upvotes · 0 comments

## Summary

Drawing on Peter Naur's 'Programming as Theory Building,' the piece argues that the real complexity of a program lives as an unwritten Theory in engineers' minds, not in code metrics like LoC or cyclomatic complexity. LLMs lack access to this Theory (business context, judgment, trade-offs), which explains why they tend to bloat codebases with duplicated, overdefensive, or overoptimized code. The author illustrates the point with a real case at Answer.AI, where the team rebuilt Solveit's billing system away from Stripe subscriptions toward a simple credit-based model to minimize 'Theory complexity,' only to hit a snag with Indian off-session card charging. Rather than reintroducing Stripe subscriptions (as an LLM suggested), they chose to accept a UX limitation for Indian users to preserve system simplicity, illustrating that complexity trade-offs depend on business judgment absent from the code itself.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.answer.ai/posts/2026-07-31-llms-code-simpler.html>

## Questions this post answers

### Why can't Indian cards be charged automatically for off-session payments through Stripe?

Indian regulations require additional authentication for off-session (automatic) card charges, so cards there cannot simply be charged without user interaction at the time of the transaction. Manual top-ups still work because they happen on-session with a 3DS-like approval flow shown in the UI, but automatic top-up fails without a mechanism like Stripe's managed subscriptions, which pre-authorize the charge a day ahead so banks can send pre-debit notifications.

_Teams weighing payment provider trade-offs by region can track real-world edge cases like this on daily.dev._

### What is Peter Naur's theory of programming as theory building?

Peter Naur's 'Programming as Theory Building' argues that a program is really the understanding, or Theory, held in the minds of the engineers who build and maintain it, covering how it relates to the real-world problem, its trade-offs, and why it works the way it does. Code and documentation are only downstream artifacts of that Theory and can never fully capture it, since the Theory forms through experience, talking to users, and observing real-world behavior.

_Developers reasoning about why AI-generated code feels unnecessarily complex can dig into ideas like this on daily.dev._

### How much code does Answer.AI's Solveit billing system use after removing Stripe subscriptions?

The redesigned payment stack, split between Solveit and faststripe, is roughly 300 lines of code. It replaced a hybrid monthly-subscription-plus-credits model with a single credits-only system where users save a card at signup and are charged either manually or automatically when their balance runs low, eliminating the dual Stripe subscription and checkout code paths and the data-sync problems that came with them.

_Teams designing usage-based billing systems can compare simplification trade-offs like this on daily.dev._

## Similar posts on daily.dev

- [The peril of laziness lost](https://daily.dev/posts/the-peril-of-laziness-lost-bmm7yrxcb) · Hacker News · 13 upvotes · 1 comments
- [Why I Don’t Vibe Code](https://daily.dev/posts/why-i-don-t-vibe-code-wmbgbioyc) · Lobsters · 9 upvotes · 4 comments
- [The next hit: How LLMs change the way engineers work](https://daily.dev/posts/the-next-hit-how-llms-change-the-way-engineers-work-y3ba4zyqx) · RUBYLAND · 1 upvotes · 0 comments

---

Tags: [#llm](https://daily.dev/tags/llm), [#architecture](https://daily.dev/tags/architecture), [#ai-coding](https://daily.dev/tags/ai-coding), [#stripe](https://daily.dev/tags/stripe)

[View this post on daily.dev](https://daily.dev/posts/why-llms-can-t-make-your-code-simpler-answer-ai-janbsa0gu)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Why LLMs can’t make your code simpler – Answer.AI","url":"https://daily.dev/posts/why-llms-can-t-make-your-code-simpler-answer-ai-janbsa0gu","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/why-llms-can-t-make-your-code-simpler-answer-ai-janbsa0gu"},"datePublished":"2026-08-19T03:27:20.091Z","dateModified":"2026-09-13T19:08:03.820Z","description":"Drawing on Peter Naur's 'Programming as Theory Building,' the piece argues that the real complexity of a program lives as an unwritten Theory in engineers'...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/678f937f1e995da536365a96c592508c?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/678f937f1e995da536365a96c592508c?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Answer.AI","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Answer.AI","logo":"https://media.daily.dev/image/upload/s--USPhisrh--/f_auto,q_auto/v1780213215/logos/answerai?_a=BAMAMiWQ0","url":"https://daily.dev/sources/answerai"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/why-llms-can-t-make-your-code-simpler-answer-ai-janbsa0gu","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"llm,architecture,ai-coding,stripe","timeRequired":"PT13M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Answer.AI","item":"https://daily.dev/sources/answerai"},{"@type":"ListItem","position":3,"name":"Why LLMs can’t make your code simpler – Answer.AI"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/why-llms-can-t-make-your-code-simpler-answer-ai-janbsa0gu#faq","mainEntity":[{"@type":"Question","name":"Why can't Indian cards be charged automatically for off-session payments through Stripe?","acceptedAnswer":{"@type":"Answer","text":"Indian regulations require additional authentication for off-session (automatic) card charges, so cards there cannot simply be charged without user interaction at the time of the transaction. Manual top-ups still work because they happen on-session with a 3DS-like approval flow shown in the UI, but automatic top-up fails without a mechanism like Stripe's managed subscriptions, which pre-authorize the charge a day ahead so banks can send pre-debit notifications. Teams weighing payment provider trade-offs by region can track real-world edge cases like this on daily.dev."}},{"@type":"Question","name":"What is Peter Naur's theory of programming as theory building?","acceptedAnswer":{"@type":"Answer","text":"Peter Naur's 'Programming as Theory Building' argues that a program is really the understanding, or Theory, held in the minds of the engineers who build and maintain it, covering how it relates to the real-world problem, its trade-offs, and why it works the way it does. Code and documentation are only downstream artifacts of that Theory and can never fully capture it, since the Theory forms through experience, talking to users, and observing real-world behavior. Developers reasoning about why AI-generated code feels unnecessarily complex can dig into ideas like this on daily.dev."}},{"@type":"Question","name":"How much code does Answer.AI's Solveit billing system use after removing Stripe subscriptions?","acceptedAnswer":{"@type":"Answer","text":"The redesigned payment stack, split between Solveit and faststripe, is roughly 300 lines of code. It replaced a hybrid monthly-subscription-plus-credits model with a single credits-only system where users save a card at signup and are charged either manually or automatically when their balance runs low, eliminating the dual Stripe subscription and checkout code paths and the data-sync problems that came with them. Teams designing usage-based billing systems can compare simplification trade-offs like this on daily.dev."}}]}
```

