Humans communicate mainly with language and no OS provides this in a satisfactory way for the average user.
The result is users mostly clicking on signs to choose among predetermined tasks, like monkeys in a lab.
Humans communicate mainly with language and no OS provides this in a satisfactory way for the average user.
The result is users mostly clicking on signs to choose among predetermined tasks, like monkeys in a lab.
Human language is optimised for human relationships, not for task-specific problem solving. It's full of subtext, context, and implication.
As soon as you try to use natural language for general open-ended problem solving you get lack of clarity and unintended consequences. At best you'll have to keep repeating the request until you get what you want, at worst you'll get a disaster you didn't consider.
“Once men turned their thinking over to machines in the hope that this would set them free. But that only permitted other men with machines to enslave them.” Frank Herbert, Dune
Why? I enjoyed your comment but I don't follow why this is obvious?
Why should computer solutions be task specific rather than general?
If I were making an API call, I'd want to get 2, but as an end user, I'd be delighted in "It's 2 and here's how I arrived at it ...'
One example is ambiguity. Every human language has faculties for ambiguity, which is crucial in many human interactions and relationships. The ability to make implicit requests or suggestions while maintaining plausible deniability is valuable, even in situations that are non-adversarial.
In contrast, when communicating with an OS or engineering a mechanical device, ambiguity is a negative and it's crucial to use language that is deterministic.
There is a very real degree to which people are only capable of thinking clearly about complex systems to the degree they are comfortable with tools such as mathematics and programming that can be used to unambiguously describe them.
Very much a historical artifact. Modern systems (LLMs, for example) can in principle handle ambiguous inputs.
Requiring humans to describe stuff "unambiguosly" is the easy cop out to that.
Getting computers to handle the ambiguity and resolve it as good as humans is what would be really amplifying. LLMs are a good step to that, compared to a regular programming language/interface.
There are there to handle conflicting interests and goals.
To that end, ambiguity in communication is something they use on purpose, not something they're there to solve.
Most humans would have nothing to say to an OS. I am a software engineer and most of the time I function many levels of abstraction away from the OS. Most of my work doesn't even run on the same OS I work in, and when it runs, it talks to an OS that's not even running on an actual computer, but a construct that looks like a computer, but is entirely made up by a hypervisor.
That "programming language" might just be ability to have generative interfaces (LLM based).
>Humans communicate mainly with language and no OS provides this in a satisfactory way for the average user. LLMs literally fix this.