What good would it truly be if a 3K line function is split into 8 modules? It’ll be neater and more comprehensible to a human reader. More debuggable, definitely.
But given the business problem the have: winner takes all of a massive market, first mover wins, — the right move is to throw the usual rulebook about quality software out the window, and double down on the bets of the company, that AI will make human code engineering less and less necessary very quickly.
It turned out incredibly well despite the “bad” engineering — which in this case, I really count as good engineering.
The bad quality of the Claude Code program has resulted in increased costs for the customers (very high memory consumption, slow execution, higher and sometimes much higher token count than necessary), and even for Anthropic, but nobody was aware of this, because there was no previous experience to compare with.
This kind of sloppy vibe coding works only when there is no competition. When the competition comes with something much more efficient, e.g. pi-dev, the inefficient application will be eliminated.
Anthropic attempts to protect their badly written program by forbidding its customers to use other coding harnesses, but this will not be able to protect them from competition for long.
If you are the first on a new market without competitors, then indeed time-to-market matters more than anything else and the sloppiest vibe-coded application is the best if it can be delivered immediately.
However, one must plan to replace that with a better and more efficient application ASAP, because the advantage of being the first is only temporary.
The amount of regex matching people found os staggering
If you choose slowly, you are depriving your users of the value from your app for a long time. It’s not as clear a choice as you think
I have already said that sometimes time-to-market is the most important, so that should be the priority, but the advantage of delivering immediately the application is only temporary, so you must improve quickly your first possibly vibe-coded implementation, otherwise better alternatives will be delivered by others.
Claude Code is an obvious example of this, because it has practically opened a new market, but because it has remained a mess now there are better alternatives.
What is wrong is not generating instantly a proof-of-concept application that barely works and using it in the beginning, but continuing to build upon that even after you had enough time to rewrite it.
It’s not like a separate company made the terminal app versus the model. If we think that the desktop app is bad, but the model is good then that’s still an endorsement of the software process.
If we think the model doesn’t matter at all, then that’s an even bigger endorsement. Is the model has no content worth talking about over the nearest competitors or an open source alternative, then the remainder is marketing and polish.
I just don’t understand how people can look at a company that is capacity constrained in this market and think that they’re doing things poorly.
You get to know before others how the future will play out
"winner takes all of a massive market, first mover wins"
...this is the kind of AI spam that sounds convincing until you think about it.
It's not at all clear the foundation model or coding agent markets are winner takes all. Far more likely to be a handful of successful players based on the market so far.
First mover wins? OpenAI was first to market and looks in trouble.
There's something convincing about this kind of cliche that lets it slip past you until you start inspecting each claim.
I do a lot of work in R and find codex (5.4 & 5.3-codex) just totally drop the ball with R. Anthropic’s models are far better with R, so I use them.
But I do wonder how much the harness affects performance.
Would GPT-5.3-Codex perform just as well if it was plugged into CC?
If this software succeeds despite the manifest failures that are pointed out here, that’s a sign that something is working. We could argue that something is just access to the model, but plenty of other companies sell that and they don’t seem to do as well.
I dont think CC has a moat other than their model but their model is also available through Copilot.
Exactly my conclusion, unfortunately I'm too old to pivot now, but anyone in their junior-to-mid days as a software developer should consider this pivot.
And this is only about generating source code in a closed environment. All hell will break loose when Openclaw et al get in the hands of average users...
Specification of software has been very weak for decades, and little effort has been put towards defining methadologies of specification that are both exhaustive and unambiguous.
It is possible, I know because I work in an exotic niche where being exhaustive and unambiguous isnot optional - Functional Safety. Here you might spend 90% or more of your time planning what and how to code, before writing the first line.
The cost - I have worked on projects where, across the duration of the project, the average production of code was less than two lines a day.
But when a single error could result in the death of 100, or 300, people, then this time worth it.
You can't get this kind of quality when you pivot twice a week, you need to have fairly fixed objectives.
The are ways to get better outcomes that are known, but not widely applied, and they could do with some development to make them accessible. Some has been done, eg Leslie Lamport and TLA+.
But, as you might have been told as a child, don't get upset that you did not get what you wanted when you failed to ask for it properly.
We are now in the early days of working through a similar process with AI.
They most definately do work for some use cases, but how they are used is important.
Just because you apply human processes and systems to AI based workflows and don't get historically expected results, this is zero basis to claim the sky is falling with use of AI in coding.
I claimed
> basic security features like asking for user confirmation for bash commands, or restricting commands to the current directory
Do not currently reliably work. Not to the point that anyone concerned with security or reliability/not-having-their-env-fucked-up should trust these safeguards as standalones.
it’s not an actual limitation on the harness.
Often, the use of AI is a lazy case of not wanting to spend the time to understand the essence of the problem and solve it directly, often far more efficiently. (Not always, but often).
The ability of getting results that surpass your understanding, and quickly, is seducing, but you invariably end up being capped on the usefullness.
AI generally seems to raise anyone with the basic skills to "expert beginner" in almost any field, but it is then a big struggle to get past this stage, without substantial extra work.
They're doing the right thing. The market is resoundingly telling them this.
> Anthropic draws VC interest at up to $800 billion valuation, Business Insider reports
https://www.reuters.com/legal/transactional/anthropic-draws-...
AI coding is like having a team of 100 interns. It’s incredibly powerful but you need to keep it under control or you’re gonna have a bad day.
Write documentation describing the specs , the APIs, the protocols, and the customer stories. Specify that everything must be divided with clear separations of concerns, interfaces, and state objects. Any single file should have a clearly defined role and should not span domains or concerns.
File separation is even more critical than functional refactoring. It’s the files and their well defined and documented interface surfaces that will keep things from becoming an indecipherable tangle of dependencies and hidden state. Keep everything not defined in the interfaces private so that it is not accessible from outside the file, and prohibit attaching to anything without using the designated public interface surfaces.
Then write an implementation plan.
Then the skeleton, then start filling features one by one. Write the tests or testing documentation at the same time. If you have the luxury of compile time flags, put the tests right in the functions so they are self validated if built with test=1. (I know that’s weird but it helps the AI stay constrained to the intent)
After each minor feature (anything that would take me >1 hour to personally do, since the last review), have all touched files reviewed for correctness, consistency, coherence, and comments both within the codebase and the documentation. Don’t add features to the code, add them through the documentation and implementation plan. Don’t let Claude use the planning tool, it tries to do too much at once…. That’s how you get spaghetti.
One little thing, then review. 1/4 of the tokens burned in writing code, 1/2 in aggressive review / cleanup and 1/4 in ongoing documentation maintenance.
Thats the real price if you want to produce good code…. and you can produce really solid , maintainable code.
It’s just 4x the price of vibe coding… but 1 solid senior developer can still produce about as much as if he was running a team of 5-10 engineers depending on the project. Still incredibly rapid and economical…. But it takes the same skills as you need to run a team as well as an excellent sense of smell to call out wrong turns.
Also, use the 1M context model, have a solid onboarding that describes your company culture, and why the project matters to the AI collaborator, as well as your coding practices, etc. I also use several journals (musings, learnings, curiosity) that the AI maintains itself, reading them during onboarding and writing them in wrapup. It is at least a 2x when the AI is acting as if it were a person that is deeply invested in the outcome. Treat it like a collaboration and you will get better results.
It’s a token fire. But IMHO it’s the way if you’re building something that has to be deployed at scale and maintainable.
Straight vibes are fine for mockups, demos, and prototypes.
If you are programming regular commercial software (office applications, web apps, games) with customers tolerating occasional bug and lot of pressure deliver fast, you can gain lot from Claude. Facebook motto: Move fast and break things
If you are programming software for industrial applications, critical software, most of the time you spend is not on writing software but writing tests, documenting, doing multiple rounds of reviews and for really critical applications doing formal verification. In this case AI can be also counterproductive, because if you absolutely have to understand every single line of code, manual coding helps to understand the code.
Example of cutting costs in programming of critical software
https://www.industryweek.com/supply-chain/article/22027840/b...
If you are relying on understanding every single line of code, then maybe you should examine your modularity and testing norms. I don’t know about you, but the next day, I can’t realistically claim to actively hold an understanding of every line of code I wrote the day before. But AI can review 10Kloc and hold it in context with flawless retrieval. I cannot do that.
If you have the right structural framework and don’t approach it as a crutch but rather an amplifier, you can actually improve code quality and documentation while multiplying productivity, and you also don’t get cognitive atrophy out of the deal.
Also, previously unrealistic testing jigs are now trivial to implement, so I can test my code way beyond the point where I would have shipped it before.
AI , like people, makes mistakes. But using AI enables you to pivot to building the infrastructure that assures that no mistakes can escape the lab. That becomes your entire focus, instead of being a burdensome and usually neglected operational overhead.
It’s definitely easy, even tempting, to “hold it wrong” though.
OTOH for single purpose pipelines and simple tools. Claude can oneshot small miracles in 5 minutes that would take me 2 hours to build.
An example is the local agent framework that I had Claude spinup to do JTAG testing. I used to spend hours running tests over JTAG, now I have a local model run tests that Claude and I specify in the test catalog and it just runs them every time we add features. It took Claude minimal guidance and about 3 hours to build that tool along with a complete RAG system for document ingestion and datasheet comprehension, running locally on my laptop (I know it has a fan now lol) that only reaches out to the cloud when it runs into difficult problems. I don’t care if that is a bit of a mess, as long as it works, and it seems to , so far so good.
The testing is where Claude is basically magic, but it’s because we specify everything before we build and change the specs when we change the IRL code that it works. English is code, too, if you build structured documentation… and the docs keep the code accountable if you track the coherence.
Can I just type out the code instead? Please?
I’ve been writing code for nearly 50 years now, and the only thing I like better than coding is getting things done. For me, AI is rocket fuel if you do it right, and a bunch of hypergolic liquid if you don’t.
It's such a definitive, decisive word, which is abused to the point of meaninglessness by clickbait.
Claude Code's source could imply, suggest, point to, highlight, call attention to, indict, or invite deeper reflection about AI engineering culture.
Quit sucking all the life out of words to get clicks. The way we use them, they're a finite resource.
Seems like the appropriate word to use about a source code leak.
The words proposed by you are suitable for describing the consequences of a revelation, while no longer containing any hint about their original cause, so using them would have lead to a more verbose sentence for delivering the same information.
The CC source doesn't "reveal" a single thing about anything other than Anthropic internals. It says nothing about the industry at large, certainly nothing new.
And this:
The words proposed by you are suitable for describing the consequences of a revelation, while no longer containing any hint about their original cause
doesn't make any sense. There is no "revelation" here. And the word "reveal" contains no connotations whatsoever about the "cause" of a "revelation".