Evolution of program design methods
One: Open
From simple to complex, from small to large, from low to advanced processes, the process is as designed.
From the side of the grass to the surrounding sky and earth, to the entire earth, the solar system, the Milky Way, and finally to the entire universe, this is the process of human understanding to perceive the world.
From the tapers, beat 0 and 1 to assembly, to the structured program design, object-oriented programme, the main design (Agent-Oriented Programme), this is the development process of the previous century program design, but It will eventually take it, we are waiting to see.
Here, one term - "granularity" is introduced to express the development direction of the programming, and the particle size programmed on the paper tape is located, 0 and 1; the assembled particle size is a statement, MOV 30H, DS; structured design particle size Is a function, int A, int b) {...}; object-oriented design granularity is class, Class Man Extend Object {...}; design particle size for the main body is the body (Agent), human avatar; application Principle, we don't have to make this conclusion, the development of programming is the development process of design particle size from small to large. This is also in line with human use of computer simulation of complex society. The main body is more suitable for solving complex, large problems than the object-oriented social description unit.
Structured programming is now rarely discussed because it has become the basic skills of programmers. Object-oriented programming is now just like a day, but I believe that in the near future, the main body design will be big. The following will be briefly introduced and compared to object-oriented design and main body design.
Two: Object-oriented
From a certain point of view, the objective world is made up of entities and their interrelationships in the objective world, we will abstract the entity in the objective world abstraction into a problem space, so we get object-oriented programming methods. For object-oriented design we can describe the following language: object-oriented programming is a language mechanism such as object, inter-object message delivery, so that software developers directly simulate objects and behavior in the problem space in solution space, thereby providing An intuitive, natural language support and methodological guidance. Object-oriented basic manipulation units are objects, ie, instances. The function is functionally called by the message delivery mechanism. Use packages, inheritance, and polymorphism, etc., specific implementation of data security operation, code multiplexing, and method overloading.
Social is a complex combination of people and people, and we use the subject to simulate the ideology and behavior of people, and then simulate the society with a multi-agent system, so we get the main design. method. For main body design, we can use the following languages to describe the following languages: the main method is to simulate the intelligent behavior of the application problem, establish an embedded in the software solution space, uncleary world, can perceive It is possible to conduct a calculation entity to take action. The subject is an entity containing a mental ingredient, such as beliefs, desires, capabilities, responsibilities, commitments, etc. The main program controls the behavior and mental state of the main body, and the body is communicated between the main body through various types of SPEECH ACT primitives.
In order to obtain a clearer understanding of the main body, the following four aspects are performed on the main body and object-oriented objects:
1: Autonomous
The main body is a computing entity in a certain environment, which has the ability to take action in the environment, that is, can take action without people directly intervene, and control their behavior and internal state. Objects are not autonomous and cannot control their behavior. Object-oriented has a public keyword, if a method is placed undercop, then other objects can invoke this method, and the object with this method cannot control whether the method is executed. Interaction between objects through direct method calls. The main body is interacting through the method of task request. When the main body A requires the main body B to complete a function, A cannot directly call B method and attribute, only send a task request to B, B returns the result, as for B Completed, A is no right to know. 2: Reactivity
The subject can perceive their environment, such as objective world, user, other subject, etc., and respond to changes in the environment in real-time manner. Objects cannot be independently perceived with external world, and respond in real time.
3: Sociality
The main body can be able to solve the problem of solving its problem or help other subjects to improve their problems when they can solve their own functions. The relationship between objects in the object system is a one-way call relationship, and there is no interaction.
4: Learning ability
The main body is in the process of operation, and through learning past experience, he has continuously improved its ability to solve the same problem, while the method of the object is constant. If the main body M and the object N can solve SiN (x) and COS (Y), the main body M can solve SiN (x) Cos (Y) by self-learning, and the object n will not, must be manually added (X ) COS (Y) function.
After reading the content above, please don't misunderstand, it is about to be object-oriented and the main body. It is considered to be two distinct methods. In fact, the relationship between them is related to the relationship, that is, the main body contains object-oriented object-oriented design. All the advantages of the method can be absorbed and accommodated for the body. From the original SmallTalk to pure object-oriented Java, the object-oriented programming language is now quite mature; but so far, there is no one for the main design language, I will not give a detailed faculty-oriented programming implementation method. It can only be called the main body design idea and method herein. For the current technical structure, the main body design needs to be implemented by the object-oriented programming language.
Three:
The core for main body design technology is artificial intelligence, but the current hardware technology and knowledge expression is used to develop artificial intelligence has always lack of breakthroughs. Now artificial intelligence is like a ugly ducklings, life in a wrong environment, so it will not fly in the blue sky. The development of artificial intelligence is urgently needed to change the change of hardware technology and knowledge expression. After the change, the hardware I refer to the noun in the "hacker empire", called ---- Mother: Breeding wisdom and the cradle of life. From the program design granularity, we can predict the tomorrow of the program design method, what is the answer? From different perspectives, our complex world can get different answers.
Four: References
Yao Li, Zhang Weiming: Intelligent Collaboration Information Technology, Electronic Industry Press;