Sure. But in order to do central refactoring and actually improve stuff you need to keep in context all the small pieces.
You can split a small program into piece A, B, C All of them look correct on their own. But they duplicate something in 3 different ways and person/agent who can "see" all of them can see the duplication and refactor.
Current model context is simply not enough for large projects.
Same problem for letting AI review code. A PR might look correct on its own and be small enough to fit into context. But somebody who has access to the whole code of the project again sees the duplication.
I am an OSS developer and when reviewing PRs I actually look at how the same problem was solved in other popular OSS projects. No AI can check this today because there is simply not enough context.
Basically if we had unlimited context what you said might be true. But context size is limited today.
I suppose it's not enough to break everything down into smaller pieces, your architecture also needs to be composable. That would address the issue of duplication. Think a plugin system.
Duplication was just an example. Code architecture is the general topic.
Yes a plugin system is great, but it only works if that plugin API/interface it designed correctly and gives plugins what they need while still enforcing good practices.
But somebody needs to design a plugin system that does this first. And designing a plugin system (for large projects) brings us back to square 1 :-) (that you need a large enough context to see what the code does in order to anticipate plugin needs).
How come we cannot keep/define "specs" of how to manufacture such "mundane" objects such as a grill brush, everything from what raw materials are required, how should the assembly line(s) look like, which industrial robots or their human professional alternatives are required, etc. etc.
It just seems to me that fundamentally this is a knowledge organization problem.
Grill brush found out that the problem is chinese products are so much cheaper (without ascribing cause of that) that north american producers can only compete on native advertising (B2C) or purchasers that require a north american supply chain (B2B).
I think you missed their conclusions. The problem wasn't that China was a lot cheaper. The problem was that substantial subcomponent or process vendors only exist in china. Like, they could find American sheet metal stamping companies but they were all using custom tooling made in China because American tooling doesn't exist anymore.
Tooling is a high-skill trade. America used to be amazing at tooling. What's more, tooling isn't super cost sensitive because one tool can make thousands of parts.
When outsourcing to China began the tools would be made in the USA and shipped to China for the low-skill work. But over time those Chinese manufacturers figured out the tooling. What's more they realized that controlling the tooling would let them control the whole process.
They started doing things like, for instance, including the tooling in the price of the product so you don't even see it, if you use their tools. Just send them the cad file and they'll do the rest. So American tool making went away. But this was a conscious decision on the part of the Chinese manufacturer and an unconscious decision on the part of American importers who didn't really value their in-house expertise.
> The problem was that substantial subcomponent or process vendors only exist in china.
He found vendors in USA. They didn't call him back.
USA has manufacturing. But Americans want to drive cars and own their own home. In order to achieve that American manufacturers need high volume or high margin - better BBQ scrubber isn't either of those.
> What's more, tooling isn't super cost sensitive because one tool can make thousands of parts.
Tool making is highly sensitive to labor cost. Every article is a one-off. It can't be automated, often not even duplicated. There are tool and die makers in the USA but if you want to make consumer products you can't afford American tool and die because American tool and die makers want to drive cars and own their own homes. Chinese tool and die makers don't have the same expectations.
I'm agreeing with you, in that yes it would be best and simple to solve "How come we cannot..." with some basic steps - but companies and industries often cut corners to the point of barely being viable long term.
To me it just sounds like we need an even higher level language for these sort of 'software for one' apps. There is still tons of boilerplate. Declarative is king.
Indeed No thank you. Tried this with my personal habit tracker. Had to login again with my Apple ID so often and right when I needed my app it expired (good luck if you don’t have your laptop with you). Converted it into a PWA and be done with it. Weekly redeploys are a big PIA.
A pity you cannot use an iPhone for personal projects.
reply