Basic introduction Chinese name: Computer program mbth: computer program, also known as software abbreviation: program type: computer action instruction introduction, script program, program operation, architecture, program data, algorithm, development, introduction Computer program (in English: sofare) is also known as software, and program (in English: program) refers to a set of instructions to instruct a computer or other equipment with information processing capabilities. For example, a program is like a braised pork recipe (program) written in Chinese (programming language), which is used to guide people who know Chinese and cooking technology (architecture) to cook this dish. Scripting programs Usually, computer programs are compiled and linked into a format that is not easy for people to understand but can be understood by computers, and then run. Programs that can run without compilation are usually called script programs. Program running In order to run a program, the computer loads the program code and possible data, so as to initialize to a startup state, and then calls some startup mechanisms. At the lowest level, these are initiated by the boot sequence. In most computers, the operating system (such as Windows) loads and executes many programs. In this case, the computer program refers to a single executable map, not all programs currently running on the computer. Computer architecture based on the most common Von Neumann architecture (also known as Harvard architecture), programs are loaded into computers from external devices (usually hard disks). If the computer chooses the von Neumann architecture, then the program is loaded into memory. A sequence of instructions is executed in sequence until a jump or branch instruction is executed or an interrupt occurs. All these instructions change the contents of the instruction register. The computer based on this system can't work without the support of the program. A computer program is a set of instructions. The instructions in the program are all based on machine language; Programs are usually written in computer programming language, and then translated into machine language by compiling programs or interpreting and executing programs. Sometimes, programs can also be written in assembly language, which is essentially a set of symbols representing machine language-in this case, the program used for translation is called assembler. Program data program has been defined. How to define data? Data can be defined as information processed by a program. When we consider the whole computer system, sometimes the difference between program and data is not so obvious. CPU sometimes has a set of microinstruction control hardware, the data can be the program to be executed (see scripting language), and the program can be written in other programs; All these examples make the comparison between programs and data a choice of perspective. Some people even assert that there is no difference between programs and data. The process of writing one program to generate another program is called metaprogramming. It can be used to make programs generate code based on given data. A single program may not be enough to represent all aspects of a given data. It may be easier for a program to analyze the data and generate a new program to handle all aspects of the data. Lisp is an example of a programming language that supports this programming mode. The weight stored in the neural network is a kind of data. It is these weight data that together with the topology of the network define the behavior of the network. It is often difficult to define what these data represent or whether they can be replaced by programs. This example and other problems related to artificial intelligence further test the difference between programs and data. Algorithm is a strict method to solve a problem, which usually needs to be supplemented by some degree of performance analysis. The algorithm can be purely theoretical or realized by computer programs. Theoretical algorithms are usually divided into different categories according to their complexity; The implemented algorithm is usually analyzed to test its performance. Please note that although an algorithm is effective and feasible in theory, a poor implementation will still waste valuable computer resources. (For more details, see algorithmic information theory. Developing and writing programs is a reciprocating process of the following steps: writing new source code, testing, analyzing and improving the newly written code, and finding out grammatical and semantic errors. People engaged in this kind of work are called programmers becoming diversified, which leads to different kinds of programmers, each with a more detailed division of labor and tasks. Software engineers and system analysts are two examples. The long process of programming is called "software development" or software engineering. The latter is becoming more and more popular because of the maturity of this subject. Therefore, the current programmer can refer to a programming expert in a certain field, or an ordinary programmer who writes a complex software system in a software company. A group of programmers working for a software company are sometimes assigned a project leader or project manager to monitor the progress and completion date of the project. Large-scale software usually goes through a long design stage mastered by system designers before it is delivered to developers. Cowboy programming (without detailed design) is despised. One of the two common methods of program development today is project team development. In this way, every member of the project team can express opinions on the progress of the project, and one of them can coordinate different opinions. Such a project team usually has about 10 members, which is done for the convenience of management. The second mode of development is twinning development.