Program execution method

macbook-926558_1920

 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.

Internet history

leon-seibert-2m71l9fA6mg-unsplash

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.

The program is roughly divided into three stages.

adi-goldstein-mDinBvq1Sfg-unsplash.jpg

[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.

High level language

 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

  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.

Machine language

 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.

Types of programming languages

monitor-933392_1920.jpg 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.

Language grammar

cellphone-codes-coding-92904

 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.

Alien civilization

Message To ALLIEN-2.png

Yasuharu Nagura「A Message to Aliens」(2019)

 In the 1960s, American radio astronomer Frank Drake (1930 ~) devised an equation that predicts the number of civilizations that could be intercommunicated within the galaxy.

Each factor of the equation cannot be estimated almost accurately, so when calculated, the result varies greatly from less than 1 to millions, depending on the estimate.

Nevertheless, it is not unreasonable to think that there are at least a few such civilizations in the galaxy.

To calculate the Drake equation, various factors (such as the percentage of stars with planets) need to be estimated.

Next, multiply all the factors.

In the example below, we are using only rather optimistic estimates. (There are also some guesswork).

Percentage of stellar births

A reasonable number of new stars born in the galaxy is 50 per year.

A star with a planet

 Perhaps half of the new stars will have planets.

Habitable planet

 The average number of dwelling planets maybe only 0.4 per planetary system.

Planet with life

 90% of the inhabitable planets will have life.

Intellectual life

 About 10% of newly uttered life may acquire intelligence.

Communicable life

Of intellectual life, at most 10% will develop interstellar communication technology.

Life of civilization

 The average lifespan of civilization will be about 10,000 years. 

Conclusion

 Using the above estimates, the galactic system has an alien civilization that we can communicate with, theoretically about 50 × 0.5 × 0.4 × 0.9 × 0.1 × 0.1 × 10,000 = 900. Expected to be. However, some estimates may be off.

 

UFO sightings

 

Yasuharu Nagura – “A Message to Aliens” (2019)

 Unidentified flying objects (UFOs) are reported annually.

 Most of them can be explained by natural phenomena such as bright stars, meteors, aurora, and rare clouds, or artificial objects such as satellites and airplanes.

Even after removing the cause, there are cases where it cannot be explained.

Without much research, dismissing the possibility that a UFO is a sign of a visitor from outside the earth is as much as accepting that idea without considering a more general interpretation.

It will be unscientific.