Just a question to people who may know better than me about this.
I thought the whole point of trying to write out TLA+ is so that you get a better idea of what you want and put it into formal language?
I get that an LLM can assist/help with expressing what we want in formal language a bit, but if one automates all this there is no human intent/design anymore.
If the LLM generates both the design (TLA+) and writes an arbitrary program that satisfies said design -- what exactly have we proved?
What assurance do humans get since human doesn't know or cannot specify what they want.
If you read the article carefully -- I've dealt with an alternative scenario as well -- where we may have smaller codebases with larger blast radius.
As to disposable software, it's harder to get traction/adaption when things constantly break or are slow or the experience is crappy in general.
To make it simpler - all else being equal - as a user would you prefer using highly reviewed/vetted/reliable software, or otherwise?
My bet is reliability is an invariant -- nobody wishes for software that crashes, leaks your private info, gives faulty output, is laggy to use and so on.
Specification languages need big investments essentially - both in technical and educational terms.
Consider something like TLA+. How can we make things such as that - be useful in an LLM orchestration framework, be human friendly - that'd be the question I ask.
So the developer will verify just the spec, and let the LLM match against it in a tougher way than it is possible to do now.
Go concrete. In FAANG engineering jobs now what % is this factory designer category vs what % is writing some mundane glue code, moving data around in CRUD calls, or putting in a monitoring metric etc?
Once you look at the present engineering org compositions see what's the error in thinking.
There are other analogy issues in your response which I won't nitpick
I don't agree with the limited point about fast fashion/enthittification, etc.
Quick check: Do you want to go back to pre-industrial era then - when according to you, you had better options for clothing?
Personally, I wouldn't want that - because I believe as a customer, I am better served now (cost/benefit wise) than then.
As to the point about recursive quality decline - I don't take it seriously, I believe in human ingenuity, and believe humans will overcome these obstacles and over time deliver higher quality results at bigger scale/lower costs/faster time cycles.
Where have I said engineers/architects aren't necessary? My point is that it is easier to get AI to get better than try to improve a million developers. Isn't that a straightforward point?
What the role of an engineer in the new context - I am not speculating on.
I'd think there'll be a dip in code quality (compared to human) initially due to "AI machinery" due to its immaturity. But over-time on a mass-scale - we are going to see an improvement in the quality of software artifacts.
It is easier to 'discipline' the top 5 AI agents in the planet - rather than try to get a million distributed devs ("artisans") to produce high quality results.
It's like in the clothing or manufacturing industry I think. Artisans were able to produce better individual results than the average industry machinery, at least initially. But overtime - industry machinery could match the average artisan or even beat the average, while decisively beating in scale, speed, energy efficiency and so on.
In his view - most ML algos are at level 1 - they look at data and draw associations, and "agents" have started some steps in level 2 - doing.
The smartest of humans operate mostly in level (3) of abstractions - where they see things, gain experience, and later build up a "strong causal model" of the world and become capable of answering "what if" questions.
Leslie Lamport built latex, most of distributed systems such as AWS services depend on formal verification. The job of Science here is to help Engineering with managing complexity and scale. The researchers are doing their jobs
Willful ignorance is a different process. Consider a food analogy.
Of the food we take - cells accept a % of it as nutrients and such, rest is discarded as waste. The cells know how to get this job done - it's a very complex process for sure.
I think it's the same with information content - a % actually is useful for making life happen - whereas the rest should ideally be discarded because it is meaningless from a life perspective. The mind just knows what's important most of the time.
In this case - willful ignorance would be something like intermittent fasting or regulating food intake carefully, since it is a conscious process.
The former process is unconscious and operates at the "cell level" whereas the latter is a conscious process that operates at the "whole-being" level.
Book sales in general (across all formats) are up I think - so there are still many, many readers around. We just have many new formats (EPUB, audiobooks, reader devices, etc.) and of course population is increasing over the globe. I'm pretty sure we have the highest number of readers on the planet right now than ever before in absolute terms.
https://github.com/HexmosTech/git-lrc
Free, Micro AI Code Reviews That Run on Commit