Fourth generation language

Source: Internet
Author: User
Tags informix

The emergence of the fourth generation language (Fourth-generation Language, hereinafter referred to as 4GL) is out of commercial necessity. The word 4GL was first introduced in the advertising and product introductions of software vendors in the early 80 's. Therefore, the 4GL products of these manufacturers, whether from the form or from the functional perspective, the difference is very large. But people soon discovered that this kind of language because has "the problem-oriented", "the Non process degree high" and so on the characteristic, may increase the software productivity in the quantity level, shortens the software development cycle, therefore has won many users. In the 1985, the United States convened a national 4GL seminar, and it was around this time, many famous computer scientists to the 4GL launched a comprehensive study, so that 4GL into the field of computer science research.

4GL takes the function of database management system as the core, further constructs the development environment of developing high level software system, such as report generation, multi Window form design, menu generation system, graphic image processing system and decision support system, which provides a good application development environment for users. It provides a powerful, unstructured problem definition that allows users to simply tell the system what to do without having to explain what to do, thereby greatly improving software productivity.

In the 90 's, with the development of computer hardware and software technology and the improvement of application level, a large number of 4GL commercialization software based on database management system has been widely used in the field of computer application development, and it has become a mainstream tool for the development of database applications, such as Oracle Application development environment, INFORMIX-4GL, SQL Windows, power Builder, and so on. They have played a great role in shortening the software development cycle and improving the software quality, which has injected new vigor and vitality into the software development.

Because most of the technologies and methods put forward by modern software engineering practice are not universally welcomed and adopted, the contradiction of software supply and demand deteriorates further, the development cost of software is increasing, which leads to the so-called "new software crisis". This not only exposes the deficiency of the traditional model of development, but also shows that the simple labor-intensive form to support the software production, no longer meet the requirements of social information, we must seek more efficient, more automated software development tools to support the production of software. 4GL is in this context came into being and grow and develop.

The generation of programming language

1. The viewpoint of the generation

The problem of the generation of programming language is far more complicated than that of computer, and there are 4 kinds of generation viewpoints. Here, for example, they divide the programming language as follows: 1GL is assembly language; 2GL is a high-level programming language, such as Fortran,algol,basic,lisp; 3GL is an enhanced advanced programming language, such as Pascal, ALGOL68, FORTRAN77 4GL is a structured language, such as ADA,MODULA-2,SMALLTALK-80, which is designed according to the theory of computer science.

4GL is generally considered to be simple and easy to learn, the user interface is good, the degree of non process is high, problem-oriented, just tell the computer "do", without having to tell the computer "How to Do", using 4GL programming code compared to COBOL, PL/1 significantly reduced, and can be a number of levels to improve software productivity and other characteristics. Many 4GL in order to improve the expression of the problem, but also in order to improve the efficiency of language, the introduction of the process of language components, there are procedural statements and non-procedural statements interwoven coexistence of the situation, such as Linc, Nomad, IDEAL, focus, natural and so on.

2. Determine the standard of 4GL

To determine whether a language is a 4GL, it should mainly be examined by the following criteria:

(1) Productivity standards: 4GL One appearance, is to significantly improve the software production rate of responsibility, 4GL should be higher than 3GL productivity of more than one order of magnitude.

(2) Non-procedural standard: 4GL should basically be problem-oriented, that is, just tell the computer "What to do" without having to tell the computer "how". Of course 4GL in order to adapt to complex applications, and these applications can not be "non-procedural", it allows the preservation of the process of language components, but not the process should be the main features of 4GL.

(3) User interface standard: 4GL should have a good user interface, should be simple, easy to learn, easy to master, easy to use, flexible.

(4) Functional standard: 4GL to have vitality, can not be used in a narrow range, in a range should have universality.

3.4GL of deficiency

Although 4GL has many advantages, but also has great advantages, has become the current application development of the mainstream tool, but also has the following serious deficiencies:

(1) 4GL Although the function is formidable, but in its overall ability but has the certain disparity with the 3GL. This is an inevitable result of an increase in the level of language abstraction (as high-level languages do not do some assembly language), on the other hand, many 4GL are only for special applications. Some 4GL in order to improve the ability to express the problem, provided with the 3GL interface to make up for its lack of capacity. Oracle provides a tool pro*c that can embed SQL statements into a C program.

(2) 4GL because of its higher level of abstraction, it is unavoidable to bring the system overhead, inefficient operation (just as the advanced language running efficiency is not as high as the assembly language), the hardware and software resources consumption is serious, the application is limited by hardware.

(3) Because of the lack of uniform industrial standards, 4GL product variety, user interface is very large, with the specific machine close, language independence is poor (SQL slightly better), affecting the application of the software transplant and promotion.

(4) The 4GL is mainly oriented to the field of database application, which is not suitable for scientific calculation, high speed real-time system and system software development.

Classification of the fourth generation languages

They can be divided into the following categories according to the 4GL functionality:

1. Query Language and Report Builder

Query language is the main tool of database management system, which provides users with the function of querying database. Some query languages (such as SQL) actually include query, manipulate, define, control four functions.

Report Generator is an important tool for users to generate reports automatically, providing a non procedural description that makes it easy for users to generate reports based on information in the database, such as the ADF.

2. Graphic language

The graphic information is more intuitive and vivid than one-dimensional string and two-dimensional tabular information. We use in the software development process data flow diagram, structure chart, block diagram and so on are the graph. It is natural to assume that a graphical approach to software development is possible. Visible screen, light pen, mouse widely used for this provides a good hardware base, windows and X-window provide us with a good software platform. Currently more representative is the SQL Windows system developed by Gupta company. It takes the SQL language as engine, lets the user define the user demand graphically in the screen, the system automatically generates the corresponding source program (also has the object-oriented function), the user may modify or add these source programs, thus completes the application development.

3. Application Builder

The Application Builder (application generator) is an important type of comprehensive 4GL tool that is used to generate a complete application system. The Application Builder allows users to use more than one software and use such a comprehensive tool to achieve multiple functions. The application builder can be divided into interactive and programmatic two classes by its use of objects. Belong to the former focus, Ramis, MAPPER, UFO, Nomad, SAS, etc. They serve to maintain, prepare, and process reports, allowing users to create files, reports, and other processing on a terminal in a visible interactive manner. Currently more representative of the Power Builder and Oracle application development environment. Oracle's Sql*forms, Sql*menu, Sql*reportwriter and other tools are built on the basis of SQL language, with the powerful functions of database management system, let the user define the requirements interactively, the system produces the corresponding screen format, menu and Print report. Programming application generators are designed for professional programmers who build complex systems, such as natural, FOXPRO, MANTIS, IDEAL, CSP, DMS, INFO, LINC, formal, application Factory and the author's design of the OO-HLL and so on belong to this category. Many of this type of 4GL are program generators (Programs generator), such as Linc generating COBOL programs, formal generating Pascal programs, and so on. In order to provide professionals to build complex application systems, some languages have a strong process of descriptive ability. Although the form of the statement is different, in fact, the quality and 3GL of the procedural statements are the same, such as INFORMIX-4GL and Oracle Pro*c.

4. Formal specification language

Software specification is the requirement, function, performance and other important aspects that the software should meet, and it is the foundation of software development. According to the software life cycle stage, there are software requirements specifications, functional specifications, design specifications and so on. The language used to write specifications is called the specification language. The traditional specification language is the natural language. In China, the main use of modern Chinese to express software specifications. Natural languages are familiar to developers and users and are easy to use. But it will inevitably introduce the ambiguity and inaccuracy of natural language into software specification, which will bring hidden trouble to software development and software quality. The form of specification language is a good solution to the above problems, but also the foundation of software automation. From the form of requirements specifications and functional specifications, you can automatically or semi-automatic conversion to some executable language (such as high-level language). Requirements specification and functional specification are problem-oriented and non procedural, and therefore belong to 4GL. This kind of language has the javaspec of Z, NPL, Specint and author design. The design specification language, which contains a large number of process components, should not be zoned 4GL in principle.

The development of the fourth generation language

For a considerable period of time, 4GL is still the mainstream tool for application development. However, there will be a series of profound changes in its function, manifestation, user interface and supported development methods. The main performance in the following several aspects:

1.4GL and object-oriented technology will be further integrated

Object-oriented technology integrates data abstraction, abstract data type and class inheritance, which makes the principles of modularity, information concealment, abstraction, localization and software reuse fully embodied in object-oriented mechanism. It pursues a natural way of carving and solving problems in the real world, that is, to pursue the consistency of the problem structure with the software structure, so that developers can focus on the system level, create the object in their own intent, and map the problem to the object. The goal pursued by Object-oriented technology is in fact consistent with the goal pursued by 4GL. Currently representative 4GL generally have object-oriented features, but these features are very limited. The implementation technology is often based on the traditional relational database management system, plus a layer of object-oriented development tools, this layer of tools has not been fully integrated with the database management system, the expression of abstract data types and inheritance is limited, which greatly limits the support of object-oriented development technology to 4GL. It is believed that with the in-depth research of object-oriented database management system, the 4GL built on it will appear in front of application developers with a brand-new appearance.

2.4GL will fully support the development of network distributed application with Internet as the representative

With the wide popularization of network technology represented by Internet, 4GL has a new space of activity. Having a 4GL that is similar to Java, but higher than the Java abstraction level, is not only possible but absolutely necessary.

3.4GL there will be a de facto industrial standard

At present 4GL product is very not unified, to the software portability and the application scope has brought the enormous influence. But the 4GL based on SQL has become a mainstream product. With the competition and development, it is possible to appear the de facto industrial standard with SQL as engine.

4.4GL will use the limited natural language graphics as the user interface

At present, the 4GL is basically in the traditional programming language or interactive mode for the user interface. The former has strong expressive ability, but it is difficult to learn and use, the latter is easy to learn and use, but weak expression ability. Until the natural language understanding is completely resolved, 4GL will use the limited natural language graphics as the user interface to greatly improve the user-friendliness of the user interface.

5.4GL will be further combined with artificial intelligence

At present, 4GL mainstream products are basically independent of artificial intelligence technology. With 4GL of non-process degree and language abstraction level unceasing enhancement, will appear the functional level 4GL (the current 4GL popular product is still in the implementation level), must require the artificial intelligence technology support to be able to realize very well, causes the 4GL and the artificial intelligence widespread union.

6.4GL continues to require support from the database management system

The main area of application of 4GL is business. It is difficult to imagine the need for a large amount of data in the Business processing field without the support of a database management system. In fact, most 4GL is an extension of the database management system, built on some sort of database management system.

7.4GL requires changes in software development methods

Because the traditional structured method has been unable to adapt to the 4GL software development, the industry objectively needs to support 4GL software development methods to guide their development activities. It is expected that the object-oriented development method will lead the way, and then with some auxiliary methods, such as rapid prototyping method, parallel software development, collaborative software development, to speed up the development of software and improve the quality of software.

=============================

First generation programming language machine language
Features: Machine oriented.
Second generation programming languages assembly language
Feature: Replaces binary code with symbols for instructions.
Third-generation programming languages C, C + +, Pascal,
Feature: The third generation features: To accomplish a task you not only have to tell the computer what you want to do, but also tell the computer how to do it step-by-step. For example: Now the common programming language.

Fourth-generation programming language 4GL
Features: Please summarize
The fourth generation is characterized by accomplishing a task you only have to tell the computer what you want to do, and don't tell the computer how to do it step-by-step. For example: SQL has a fourth generation feature, you just tell the DBMS what to get and how to get it,
How to use indexes and how to connect multiple tables don't worry about it.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.