There are two main methods for executing a high level language program: a compiler method and an interpreter method.
The compiler system is a system in which a high-level language program is converted into a machine language by a language processor called a compiler, and the obtained machine language program is executed by the CPU.
On the other hand, the interpreter method is a method in which a high level language program is interpreted and executed one by one without using a language processor called an interpreter and collectively converting the programs into a machine language.
The Internet originated in the 1969 ARPANET experiment by the US Department of Defense Advanced Research Projects Agency ARPA (now DARPA). ARPANET experiments have demonstrated that packet switching technology is effective for data communication and that data communication on a global scale can be achieved by standardizing the protocol (TCP / IP).
In the mid-1980s, the National Science Foundation (NSF) began supporting the project. In 1990, the original ARPANET was dismantled and led by the NSF network operated by NSF, and LAN servers of research facilities in the world including the United States were connected to this network. Later, this network was opened to commercial networks and developed rapidly.
[Stage 1] Specification decision stage
The first step is to define what to program. If this is not well thought out, even if a code change occurs in one place, the other code may have to be rewritten, and eventually all may be rewritten.
[Stage 2] Coding stage
The stage of writing code according to the specifications. It is also a stage where many programmer qualities are asked. In other words, whether or not a program that performs the same operation is not redundant and it is thought that bugs can be easily found depends greatly on the ability of the programmer.
[Stage 3] Quality confirmation and maintenance stage
Confirmation of the operation of the completed program and the correction stage accompanying specification changes. Even program development is the most difficult stage. It’s a patience and time-consuming task that needs to prove that the program works correctly under all conditions and doesn’t crash or break the system, so it tries every possible input.
A programming language closer to natural language or a programming language that easily expresses human thought is called a high-level language. For example, it is a programming language that can describe almost English, or a programming language that can describe mathematical expressions. The high- level language cannot be executed by the CPU as it is. It is converted into machine language using a compiler, and the CPU executes it. Alternatively, there is a method of interpreting and executing a high-level language using an interpreter without performing the conversion.
Assembly language is a programming language that describes machine language instructions in a way that is easy for humans to understand (close to English). One line of the program written in assembly language corresponds roughly to one instruction of the opportunity program. A word representing a machine language instruction (integer) is called a mnemonic. The mnemonic depends on the CPU and the assembly language used. For example, the second mock of a machine language instruction to move data is “MOV” (The word “move” from English).
Since assembly language is not a machine language, a CPU cannot execute a program written in assembly language. A program written in assembly language is converted into a machine language program by an assembler, and the obtained machine language program is executed.
In assembly language, you can specify each action that the CPU performs. Therefore, it is suitable for creating a program for finely controlling the input / output device.
The only programming language that can be interpreted and executed by the CPU is machine language. A machine language program is a sequence of instructions that represent the operation of one unit of the CPU. Each instruction is represented by an integer for easy and high-speed interpretation / execution by the CPU. When a machine language program is stored in the main storage device (ROM or RAM) in advance and the start address is given to the program counter (: A storage device in the CPU that holds the address where the next instruction to be executed by the CPU is stored), the CPU fetches instructions one by one from the main storage device and executes them.
Since the programming language is artificial, various programming languages can be created according to the application. Many programming languages have been created so far, and some of them are programming languages whose main purpose is to be understood by computers (distant from natural languages) and vice versa. There are languages. Roughly classifying program languages according to how similar to natural language, there are three types: machine language, assembly language, and high-level language.
In order to communicate using words, it is necessary for the speaker and listener to have common rules about words, and to speak based on those rules and to speak. Otherwise, the listener will not understand what the speaker says. This common rule is called language grammar.
For example, English has a basic five-sentence rule. In principle, English follows this rule. Words that do not follow this rule have no meaning as part of English, and the meaning is not conveyed to the listener.
The programming language has the same grammar as the natural language. When a human describes a program according to the grammar and gives the program to the computer, the computer understands the program according to the same grammar and performs the described operation.
Just as the Japanese and English grammars are different, each different programming language has its own grammar.
The difference between a program and software is that the software is all the intellectual information related to the computer, whereas the program is limited to a representation of the operation procedure of the computer. That is, the program is included in the software. In general, in the case of software, a program representing an operation procedure and data used during the execution of the program are often collectively referred to. For example, the word processor software includes font data as well as programs.
To make a computer do something meaningful, it is necessary to teach the computer the procedure of the operation. Unfortunately, today’s computers can’t fully understand human language. Therefore, it is not possible to teach the computer the procedure in the language (natural language) that we usually use, such as Japanese and English.
Therefore, instead of using a natural language, a simple language that can be understood by a computer is artificially created, and an operation procedure is expressed as a language and transmitted to the computer. This artificial language is called a programming language, and a program that expresses an operation procedure as a language of a programming language is called a program. The computer given the program operates according to the described procedure.
When a computer is operated by a program, it is the CPU that actually understands the contents of the program inside the computer and operates accordingly. The CPU is operating according to the contents described as a program. The CPU operates the entire computer by performing calculations according to the contents described as programs and controlling the input/output devices and storage devices.