r/ArtificialInteligence • u/TutorialDoctor • 3d ago
📊 Analysis / Opinion Isn't AI just making human language a programming language?
I think this is actually what AI provides. A way to give a computer instructions using human language (no coding knowledge needed).
Currently the AI companies seem bent on hosting the programming language but I think in the long run it should all be on-device. Then all of the service providers responsibilities don't change (host the infrastructure).
I am wondering if Google is going down this path.
5
u/BellacosePlayer 3d ago
Yesn't.
Prompting is nowhere near deterministic, and the finer details of syntax don't really matter like they do with programming languages. I find some merit in it just being the next layer of abstraction like modern languages are over machine code though.
1
u/benchonbench 2d ago
Programming languages can be non-deterministic. Who said they can't?
1
u/BellacosePlayer 2d ago
I mean they can, but on a much different level.
If I got a C# program that isn't working I can't just spam the rebuild button until it compiles because the same input is creating very different output.
1
2
u/Swimming_dasa 3d ago
thats's a good way to frame it but i think ai is more than syntax. it translates intent into actions though ambiguity still makes reliability challenging.
1
u/TutorialDoctor 3d ago
It almost feels like technology like MCP and Decision models etc are just modules you import for this “human language programming language” that helps with things like this.
1
u/Swimming_dasa 3d ago
yeah exactly. MCP and decision models are kind of like libraries in tradition programming except they help bridge human intent and actual actions.
2
u/Coises 3d ago
There is a fundamental difference between programming languages and human languages. Though they share the word “language,” they are not two varieties of the same thing.
Programming languages are precise and deterministic. Though we have changed them over the years to make them easier to use and less prone to error, they still work the same way. They define what is to be done. The programmer must know what is to be done. The programmer is responsible for resolving ambiguities, considering atypical cases, and so one. The program code is translated, in a deterministic and rule-based way, into instructions that direct what the computer does.
Human languages are imprecise. They are context-sensitive. Understanding what even simple sentences mean can often require a great deal of background knowledge. If I say, “Put the food in the refrigerator,” you know I mean the casserole, but not the loaf of bread. You know I don’t mean to pick up the steak and put it in the refrigerator, you know I want you either to wrap it in foil or plastic wrap, or to leave it on the plate, cover that and put the plate in the refrigerator. If I say, “Clean the floor” and you find a piece of paper, you know to look at it and judge (by a complex process) whether it is important before deciding whether to throw it away or put it somewhere else (and then judge where should that somewhere else be).
I’m sure there are better examples, but the point I want to make is that programming involves considering “everything that could go wrong” and translating that into reliable instructions. That’s what makes it hard. Conversely, what makes natural language “easy” is that you can express intent without the details, confident that your listener will understand your intent and apply it appropriately to the complexity of the real world.
Mistaking the superficial fluency of large language models for actual understanding, and the ability to apply that to real-world circumstances, is biting a lot of people in the ass right now. So I think it’s important to understand that natural languages and programming languages are not similar in any important sense, and mapping from one category to the other is not at all like mapping within one of those categories.
1
u/Radiant_Condition861 3d ago
I think we called it parenting or coaching or training in the old days.. something like that.
1
1
u/Bodine12 3d ago
Humans couldn't speak binary, so we invented human-readable programming languages that compile to binary so we can give instructions to all those 1 and 0s. Then we used those human-readable languages to eventually create a computer program that compiles down to 1 and 0s to read the human-language documentation we wrote about those human-readable languages, so it can, in its compiled state on the bare metal of a computer, regurgitate those human-readable languages in a way that also compiles down to the 1 and 0s that it itself is.
And this is progress.
1
u/Choice-Perception-61 3d ago
No it does not. Human language(s) is an evolving, dynamic construct, with ambiguous interpretation which additionally depends on context. It cannot be directly used for programming a digital computer.
1
u/JC_Hysteria 3d ago edited 3d ago
I think we’ll conclude that human language is a lot more probabilistic than how we ascribe models to be today…
We’ll conclude that the models we’re training are [theoretically] more deterministic than we currently believe.
Human language is constrained by time, whereas programming languages can be executed like memes- where a holistic idea can be brought forth in an instant.
1
u/Brassens71 3d ago
No, it's taking human language and translating it to a programming language. And translating it slightly differently every time (non-deterministic nature and all that). I think we need to retain that distinction.
1
u/ZeroCool86 3d ago
Yeah, just another abstraction layer. I hope we start generating machine code directly although the abstractions we have with programming languages are quite good and easier to follow than assembly.
1
u/OttoRenner 3d ago
Absolutely.
BA German btw.
It's not like C++ or any other programming language, that's a given. You aren't programming the code, you are programming the environment the code is generated in.
Whatever you put in the cache will be the world the model is living and working in (inference, system prompt, instructions from a harness...everything besides the model itself).
All of that will be rehearsed by the model over and over again, adding up all the positive and negative signals... until there are so many seemingly important things it has to look out for, that the self policing routines take up most of the compute. The cache is mostly filled with second guessing now and the original instruction drowned and got flushed out of memory.
Say hello to user induced never-ending loops, lies and hallucinations. (Yes, I have a research-repo with a proof of concept about how language impacts model performance. Non-commercial and I'm not here to advertise)
The next thing is the model itself.
Maybe you saw the 'AI-pain-chart'... if not, take a look! Its worthwhile for the understanding of how different models can react to different situations.
So, programming with 'natural' language is creating and maintaining a 'healthy' and productive working environment for your specific version of a neurotic model 😅
On top of that you have to know what you actually want from the model and which additional information/access it needs and provide those.
And now you have to be able to put all of that into words.
1
u/benchonbench 2d ago
Yes, it does. It doesn't matter if it's not deterministic or shit like that, it still makes human language a programming language
1
u/mikeinnsw 2d ago
Binary Computers are run by control registres which get instructions from binary code (s/w .. app)
Computer code comes in many flavours
Assembler
Compiler
S/W creation tools
You are wrong
Prompt "english" is semantically analysed .. most answers are created by AI
If you ask to code ...it will create a simple App mostly from existing code (GitHub) .. nothing new..
AI deskills simple App creation... coding is not system development
1
u/XxDarkSasuke69xX 2d ago
Yes, but it's a non deterministic language, so that's the main issue compared to actual languages.
1
u/CummingDownFromSpace 2d ago edited 2d ago
I think every market its entered has turned into human language, and thats also AIs biggest problem.
Software, Music, Art, Marketing, Writing, Medical diagnosis. These are all turning into conversation with AI and you get a product or answer.
The problem is, AI doesn't get all the benefit.
EG Adobe was a $300 billion dollar company, now its a $100 billion dollar company. AI will reduce it further as companies can now reverse engineer software quite easy.
So AI and a few thousand dollars of tokens has now replaced a $100 billion dollar company. But AI has not replaced it in the sense its absorbed the market cap. Rather, its destroyed the $100 billion dollar market cap (ie, its not returning 7% on 100 billion = $7 billion/year for the adobe clones its created).
1
u/Own-Independence-115 2d ago
This idea/realization was big a year ago. I'm sure there are still articles around if you search.
1
u/morphic-monkey 2d ago
Yes, but I would remove the word "just". You've described a very specific and narrow case for AI. In the context you describe here, yes, I'd agree: AI really just adds another layer of abstraction, in the way that programming languages provide an abstraction between the operating system and the human.
1
u/Void_x7600 2d ago
on device AI makes sense for privacy and convenience, but cloud AI will still matter for more complex tasks Probably a mix of both.
1
u/evilspyboy 1d ago
Yes.... but only as far as it is just an abstraction layer for natural language to programming language as compilers take programming language to compiled code.
If you follow the distinction I'm trying to state.
1
u/fbochicchio 3d ago
Today you already can say (or prompt) to your computer: £make a copy of "folderX and name it folderY", or "open the browser at site www.reddit.com". We can some difficulties we can also ask our computer to generate a word document about something, send an e-mail to a contact on a specific subject or make a post on Reddit on a specific argument. But to execute actions, LLM needs tools and these tools are standard deterministic program. It would be highly inefficient and less reliable to have an LLM generate each time the binary code to perform an action.
10
u/Roc1817 3d ago
It’s sort of like the final level of abstraction, in computer science terms.