Understanding Fourth Generation Languages and Their Evolution
4GL Fourth Generation Languages: The fourth-generation languages include a high degree of abstraction that creates a true black box. The programmer does not specify how applications should be performed; instead, they provide a number of parameters. The program created is always far removed from the machine or hardware, which has been the trend with each generation of programming languages. We must remember that the power of 4GL is based on the ability to generate code automatically, although the functionality acquired to date has been fairly limited. It should be noted that 4GLs have changed considerably since the early languages included in this term. This evolution has been marked by several aspects, one of which is the restrictions imposed by the operating system and hardware that have significantly influenced the patterns to follow. Object-oriented programming and the willingness of developers are leading to the market introduction of object libraries that complement the operation of 4GLs. Among the most common libraries are objects for accessing multiple relational databases, electronic messaging systems, workgroup systems, hierarchical databases, and advanced GUIs, among others.
Types of Fourth Generation Languages
There are different types of fourth-generation languages, each with a particular function. Among them are:
- Report Generators
- Forms Generators
- Database Administrators
- Application Generators
The report generators are responsible for generating an entire system from the outputs of CASE tools, screens, reports, and possibly some processes specified by the Data Administrators. These provide commands for manipulating data, case selection, and documentation of data in preparation for statistical analysis and reporting. Examples include SAS, SPSS, and Stata. These procedures are written in a high-level programming language and form a library of functions to choose from. The user specifies what the program should do, and the application generator determines how to perform the task.
PowerBuilder
PowerBuilder is a development tool developed by the company Sybase. It is a graphical object-oriented programming environment for the development of client/server, distributed, and web applications. It includes tools to generate reports, access databases, and create graphical interfaces. PowerBuilder has been in the market for 16 years and continues to evolve according to current market requirements. We currently have version 11, which has exceeded all expectations among thousands of users worldwide, integrating the EAServer application server, making it very robust. Unfortunately, many users only know it as a tool for developing client/server applications, but several people are making efforts for this tool to be used for application development in web-distributed OLTP and the use of web services, Java, and JSP.
The Evolution of PowerBuilder
PowerBuilder has evolved from its earliest days with an object-oriented internal architecture. However, users of the first version of PowerBuilder could not enjoy features such as inheritance, polymorphism, and encapsulation. PowerBuilder 1.0 applications were coded almost entirely from the painter window. Many users relied too heavily on copy-and-paste techniques to increase productivity. From the author’s standpoint, many bad programming habits are rooted in these early days, which marked the beginnings of architecture in fat windows. Significant changes have occurred, including integration with PowerDesigner for reengineering applications, working with the XML Web DataWindow, and improvements in the management of web services. Additionally, DataWindow .NET has been released as a separate product that allows users to create DataWindows in .NET and then review their work in this framework.
Informix 4GL
Informix 4GL is a leader in managing client applications that access Informix databases in the Unix environment. It is a structure based on character-oriented windows, allowing developers to prepare or directly embed a source code of a fourth-generation language that determines the structure of standard SQL queries. The 4GL source code pre-processor generates pseudo code (p-code) or C code, depending on the chosen 4GL compilation time. To produce applications, three different products are used: the Compiler, Rapid Development System, and the Interactive Debugger. The compiler generates C code and ESQL/C code that can be compiled into object code. The rapid development system greatly reduces compilation time by creating pseudo code, and the debugger supports rapid detection and correction of errors within applications. The new version of Informix also combines other advantages, such as reduced power consumption, lower hardware storage costs, great flexibility, reduced memory requirements (as only the currently used p-code execution modules are loaded), and significant portability across many platforms.
What is Oracle?
Oracle is the first database designed for grid computing and is a relational database management system produced by Oracle Corporation. Oracle’s tool is essentially a client/server database management system. Its high power and cost make it primarily used in very large and multinational companies.
History
Oracle technology is found in virtually every industry around the world. Oracle is the first software company to develop and implement business software that is 100 percent Internet-based throughout its product line: database, business applications, and application development tools for decision support. Oracle ensures the functioning of its databases, which, in the event of server crashes, compensates with figures close to seven figures.
Features of Oracle
Built on Oracle Database, Oracle Content Database has been designed to enable organizations to control and manage large volumes of unstructured content in a single repository, aiming to reduce costs and risks associated with data loss.
Structures
An Oracle DB has both a physical structure and a logical structure. The physical structure corresponds to the operating system files, while the logical structure consists of tablespaces and schema objects in a logical structure of the database. It is divided into logical storage units called objects: tables, views, indexes associated with a table, and clusters. The physical structure consists of files that are of fixed size and are set at the time of creating the database or when tablespaces are created. Data from the data file is read when needed and is located in a shared memory cache for faster access.