can a computer communicate with us in our language? if not then how does a computer communicate with us
Answers
Answered by
0
First, it is really easy to fall into anthropomorphism when talking about computers, e.g. saying that computers “understand” a language. I say this as a person who thinks that “strong AI” is possible: doing so isn’t helpful to you in your laudable desire to understand computers.
That said: computers are typically built so that when they are powered up, they set some initial state and then start reading data from memory that, if it comprises valid machine language instructions, it will execute.
That can be a fairly complicated process.
Computers that use the “x86” or “amd64” instruction set actually convert those instructions into another form and execute those.
The Burroughs B1700 series computers were designed to implement virtual machines that were tailored to the source language a program was written in, so if they’d hung around long enough, they could have been made to run JVM (Java Virtual Machine) or the .NET CLR (Common Language Runtime).
To execute programs written in something other than machine language (assembly language is just machine language made a little easier for people to write, so it’s machine language for our purposes here), you need either a
compiler: a program that reads the source code and generates machine language that’s supposed to do what the source code says, or an…
interpreter: a program that has to be loaded up and running along with the program you want to run. It transforms the source code into some internal form and pretends to be a computer built to execute that internal form.
The differences between the two have gotten blurred; interpreters nowadays may well do what’s called “JIT” (just in time) compilation, in which code that gets executed a lot gets compiled on the fly and the compiled code run directly.
That said: computers are typically built so that when they are powered up, they set some initial state and then start reading data from memory that, if it comprises valid machine language instructions, it will execute.
That can be a fairly complicated process.
Computers that use the “x86” or “amd64” instruction set actually convert those instructions into another form and execute those.
The Burroughs B1700 series computers were designed to implement virtual machines that were tailored to the source language a program was written in, so if they’d hung around long enough, they could have been made to run JVM (Java Virtual Machine) or the .NET CLR (Common Language Runtime).
To execute programs written in something other than machine language (assembly language is just machine language made a little easier for people to write, so it’s machine language for our purposes here), you need either a
compiler: a program that reads the source code and generates machine language that’s supposed to do what the source code says, or an…
interpreter: a program that has to be loaded up and running along with the program you want to run. It transforms the source code into some internal form and pretends to be a computer built to execute that internal form.
The differences between the two have gotten blurred; interpreters nowadays may well do what’s called “JIT” (just in time) compilation, in which code that gets executed a lot gets compiled on the fly and the compiled code run directly.
Similar questions
English,
8 months ago
Physics,
8 months ago
Math,
8 months ago
Social Sciences,
1 year ago
English,
1 year ago