How does a human talk to a computer?
How do computers understand instructions given by human?
A computer speaks machine language, 0's and 1's. When a computer "thinks", it thinks with 0's and 1's. So at the very first, programmers use punched strips of paper to give the computer orders. But most human beings just don't like to speak in binary. So the Assembly language was invented. The Assembly language is the machine language in a more readable format. But the computer can't read Assembly code directly, so an assembler is used to translate it to machine language. Here's some sample Assembly code:
data segment tab db 'hello world$' data ends code segment assume cs:code, ds:data start: mov ax,data mov ds,ax lea dx,tab mov ah,9h int 21h mov ah,4ch int 21h code ends end start
But the Assembly code is not easy to be understood as well. Now programmers have high-level programming languages. High-level programming languages are based on human languages, mainly English. Therefore, people can learn to program without having to remember a lot of abstruse Assembly codes. Some of the most popular high-level programming languages are C++, Java, etc. A compiler helps translating the high-level programming language into assembly code, then the assembler translates the assembly code into binary. Then the computer will understand the instructions given by human. Now new programming languages are invented every year.