Home  >  Article  >  What processes does the development of programming languages ​​go through?

What processes does the development of programming languages ​​go through?

青灯夜游
青灯夜游Original
2020-11-12 15:51:1143983browse

The development of programming languages ​​has gone through four processes: machine language, assembly language, high-level language and non-procedural language. From the perspective of development history, programming languages ​​can be divided into four generations: first-generation machine language, second-generation assembly language, third-generation high-level language, and fourth-generation non-procedural language.

What processes does the development of programming languages ​​go through?

#A programming language is a language used to write computer programs. The basis of language is a set of symbols and a set of rules. The totality of strings of tokens composed of tokens according to rules is language. In programming languages, these token strings are programs. There are three aspects of programming language, namely syntax, semantics and pragmatics. Grammar represents the structure or form of a program, that is, it represents the combination rules between the various symbols that make up a language, but it does not involve the specific meaning of these symbols, nor does it involve the users. Semantics represents the meaning of the program, that is, the specific meaning of each symbol expressed in various ways, but does not involve the user.

The development of programming languages ​​has gone through four stages: machine language, assembly language, high-level language and non-procedural language.

Since the 1960s, there have been thousands of programming languages ​​published in the world, but only a small part of them have been widely used. From the perspective of development history, programming languages ​​can be divided into 4 generations.

The first generation of machine language

Machine language is composed of binary 0 and 1 code instructions. Different CPUs have different instruction systems. Machine language programs are difficult to write, modify, and maintain. They require users to allocate storage space directly, and programming efficiency is extremely low. This language has been gradually phased out.

Second generation assembly language

Assembly language instructions are the symbolization of machine instructions and have a direct correspondence with machine instructions, so Assembly language also has shortcomings such as being difficult to learn and use, prone to errors, and difficult to maintain. But assembly language also has its own advantages: it can directly access the system interface, and the machine language program translated from the assembly program is highly efficient. From a software engineering perspective, assembly language is used only when a high-level language cannot meet the design requirements or does not have the technical performance to support a specific function (such as special input and output).

The third generation of high-level languages

High-level languages ​​are user-oriented languages ​​that are basically independent of computer types and structures. Its biggest advantage is that it is formally close to arithmetic language and natural language, and conceptually close to the concepts commonly used by people. One command in a high-level language can replace several, dozens or even hundreds of assembly language instructions. Therefore, high-level languages ​​are easy to learn and use, highly versatile, and widely used. There are many types of high-level languages, which can be further classified from two aspects: application characteristics and description of objective systems.

1. Classification from the application perspective

From the application perspective, high-level languages ​​can be divided into basic languages, structured languages ​​and special languages.

 (1) Basic language

 Basic language is also called universal language. It has a long history, is widely spread, has a large number of developed software libraries, has many users, and is familiar and accepted by people. Languages ​​that fall into this category include FORTRAN, COBOL, BASIC, ALGOL, etc. The FORTRAN language is widely popular internationally and is the earliest high-level language used. Since the 1990s, it has always played an important role in engineering and scientific computing and is very popular among scientific and technical personnel. The BASIC language is an interactive language developed in the early 1960s to adapt to time-sharing systems and can be used for general numerical calculations and transaction processing. The BASIC language has a simple structure, is easy to learn and use, and has interactive capabilities. It has become an introductory language for many beginners to learn programming.

 (2) Structured Language

Since the 1970s, the ideas of structured programming and software engineering have been increasingly accepted and appreciated by people. Under their influence, some very influential structured languages ​​have emerged. These structured languages ​​directly support structured control structures and have strong process structure and data structure capabilities. PASCAL, C, and Ada languages ​​are their outstanding representatives.

The PASCAL language is the first modern high-level language to systematically embody the concept of structured programming. The original goal of software development is to use it as a teaching tool for structured programming. Because of its clear modules, complete control structure, rich data types and data structures, strong language expression ability, and easy transplantation, it has not only been designated as a teaching language by many colleges and universities at home and abroad, but also has been widely used in scientific computing, data processing and system software development. have a wide range of applications.

 The C language has rich functions, strong expression ability, rich operators and data types, flexible and convenient use, wide application range, strong portability, high compilation quality, high target program efficiency, and has the advantages of a high-level language. At the same time, C language also has many characteristics of low-level languages, such as allowing direct access to physical addresses, bit operations, most functions of assembly language, and direct operation of hardware. The quality of the target program generated by the C language compiler is comparable to that of the target program generated by assembly language. It has the reputation of "portable assembly language" and has become one of the important languages ​​​​for writing application software, operating systems and compilers.

 (3) Special-purpose language

 It is a language specially designed for a special application and usually has a special grammatical form. Generally speaking, this language has a narrow scope of application, and its portability and maintainability are not as good as structured programming languages. With the development of time, there are hundreds of professional languages ​​in use, and the more widely used ones are APL language, Forth language, and LISP language.

2. Classification from the description of objective systems

From the perspective of describing objective systems, programming languages ​​can be divided into process-oriented languages ​​and object-oriented languages.

 (1) Process-oriented language

A programming language composed of the "data structure algorithm" programming paradigm is called a process-oriented language. Most of the programming languages ​​introduced earlier are process-oriented languages.

 (2) Object-oriented language

A programming language composed of the "object message" programming paradigm is called an object-oriented language. The more popular object-oriented languages ​​include Delphi, Visual Basic, Java, C, etc.

The Delphi language has a visual development environment and provides object-oriented programming methods. It can design various applications with Windows content (such as database application systems, communication software and three-dimensional virtual reality, etc.), and can also develop multimedia operating system.

 Visual Basic language, referred to as VB, is a development environment and tools provided for developing applications. It has a good graphical user interface, adopts new object-oriented and event-driven mechanisms, and integrates procedural and structured programming. Its graphical conception in application development makes it easy to create application interfaces without writing any programs, and is very similar to, or even consistent with, the Windows interface.

The Java language is an object-oriented programming language that does not depend on a specific platform. It is simple, reliable, compilable, scalable, multi-threaded, structurally neutral, type explicit, dynamic storage management, and easy to Understand is an ideal programming language for developing Internet application software.

The fourth generation of non-procedural language

4GL is a non-procedural language. When coding, you only need to explain "what to do" without describing it. Algorithm details.

Database query and application generator are two typical applications of 4GL. Users can use database query language (SQL) to perform complex operations on information in the database. The user only needs to tell SQL where the content to be found is located and the root conditions to search based on, and SQL will automatically complete the search process. The application generator "automatically generates" high-level language programs that meet the needs of users based on their needs. It should be said that the real fourth-generation programming language has not yet appeared. The so-called fourth-generation languages ​​mostly refer to software tool products with 4GL features based on a certain language environment, such as System Z, such as PowerBuilder, FOCUS, etc. The fourth generation programming language is a type of programming language that is application-oriented and designed for end users. It has the advantages of shortening the application development process, reducing maintenance costs, minimizing problems during debugging, and being user-friendly.

For more programming-related knowledge, please visit: Introduction to Programming! !

The above is the detailed content of What processes does the development of programming languages ​​go through?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn