You are on page 1of 7

A fourth-generation programming language (4GL) is a programming language or programming environment designed with a specific purpose in mind, such as the

development of commercial business software. In the history of computer science, the 4GL followed the 3GL in statement power to become more successful than the old one.The block-structured mode of the third-generation programming languages improved the process of software development. However, 3GL development methods can be slow and create error. It became clear that some applications could be developed more rapidly by adding a higher-level programming language and methodology which would generate the equivalent of very complicated 3GL instructions with fewer errors. In some senses, software engineering can handle 3GL development. 4GL and 5GL projects are more helpful toward problem solving and systems engineering. All 4GLs are designed to reduce programming effort, the time it takes to develop software, and the cost of software development. They are not always successful in this task, sometimes resulting in unstable code. However given the right problem, the use of an appropriate 4GL can be successful as was seen with MARK-IV and MAPPER . The usability improvements obtained by some 4GLs and their environment allowed better exploration for solutions than the 3GL. A definition of 4GL has been set by Capers Jones, as part of his work on function point analysis. Jones defines the various generations of programming languages in terms of developer productivity, measured in function points per staff-month. This combine with about 1627 lines of code per function point implemented in a 4GL. Fourth-generation languages have often been compared to domain-specific programming languages (DSLs). Some researchers state that 4GLs are a subset of DSLs. Given the use of assembly language even now in advanced development environments (MS Studio), one expects that a system ought to be a mixture of all the generations, with only very limited use of the first.

Contents
[hide]

1 History 2 Types 3 Some fourth-generation languages 4 See also 5 External links 6

[edit]

Types
A number of different types of 4GLs exist: Table-driven (codeless) programming, usually running with a runtime framework and libraries. Instead of using code, the developer defines his logic by selecting an operation in a pre-defined list of memory or data table manipulation commands. In other words, instead of coding, the developer uses Table-driven algorithm programming.A good example of this type of 4GL language is eDeveloper. These types of tools can be used for business application development usually consisting in a package allowing for both business data manipulation and reporting, therefore they come with GUI screens and report editors. They usually offer integration with lower level DLLs generated from a typical 3GL for when the need arise for more hardware or OS specific operations. Report-generator programming languages take a description of the data format and the report to generate and from that they either generate the required report directly or they generate a program to generate the report. Similarly, forms generators manage online interactions with the application system users or generate programs to do so.More ambitious 4GLs attempt to automatically generate whole systems from the outputs of CASE tools, specifications of screens and reports, and possibly also the specification of some additional processing logic. Data management 4GLs such as SAS, SPSS and Stata provide complicated coding commands for data manipulation, file reshaping, case selection and data documentation in the preparation of data for statistical analysis and reporting.

Example of fourth-generation languages

General Use / Versatile o Agile Business Suite o Clipper o Cognos PowerHouse 4GL o DataFlex o Discovery Machine Modeler o Fort TOOL (transactional object-oriented language) o FoxPro o IBM Rational EGL (Enterprise Generation Language) o Lycia Querix 4GL

o o o

Omnis Studio SDK Panther PowerBuilder

o o o o o o

SheerPower4GL (Microsoft Windows Only) SQLWindows/Team Developer Up ! 5GL Visual DataFlex (Microsoft Windows Only) WinDev XBase++

Database query languages o FOCUS o Genero o Informix-4GL o Lycia Querix 4GL

o o o o

NATURAL Progress 4GL Ingres 4GL SQL

Report generators o BuildProfessional o GEMBase o IDL-PV/WAVE o LINC o NATURAL o Oracle Reports o Progress 4GL Query/Results o Quest o Report Builder o RPG-II Data manipulation, analysis, and reporting languages o Ab Initio o ABAP o Aubit-4GL o Audit Command Language o Clarion Programming Language o CorVision o Culprit o ADS/Online (plus transaction processing) o DASL o Easytrieve o FOCUS o GraphTalk o IDL

o o o o o o o o o o o o o o

IGOR Pro Informix-4GL LANSA LabVIEW MAPPER (Unisys/Sperry) now part of BIS MARK-IV (Sterling/Informatics) now VISION:BUILDER of CA Mathematica MATLAB NATURAL Nomad PL/SQL Progress 4GL PROIV Lycia Hermes Querix 4GL

o o o o o o o o o

R Ramis S SAS SPSS Stata Synon XBase++ SQR

Data-stream languages o APE o AVS o Iris Explorer Database driven GUI Application Development o Action Request System o Genexus o SB+/SystemBuilder o Progress Dynamics o UNIFACE Screen painters and generators o FOURGEN CASE Tools for Rapid Application Development by Gillani o SB+/SystemBuilder o Oracle Forms o Progress 4GL ProVision o Unify Accell

GUI creators o 4th Dimension (Software) o eDeveloper o MATLAB's GUIDE o Omnis Studio o OpenROAD o Progress 4GL AppBuilder o Revolution programming language o Sculptor 4GL Mathematical Optimization o AIMMS

o o

AMPL GAMS

Web development languages o ColdFusion o Wavemaker open source, browser-based development platform for Ajax development based on Dojo, Spring, Hibernate o OutSystems

Fourth-generation languages attempt to make communicating with computers as much like the processes of thinking and talking to other people as possible. The problem is that the computer still only understands zeros and ones, so a compiler and interpreter must still convert the source code into the machine code that the computer can understand. Fourth-generation languages typically consist of English-like words and phrases. When they are implemented on microcomputers, some of these languages include graphic devices such as icons and onscreen push buttons for use during programming and when running the resulting application. Many fourth-generation languages use Structured Query Language (SQL) as the basis for operations. SQL was developed at IBM to develop information stored in relational databases. Eventually, it was adopted by the American National Standards Institute (ANSI) and later by the International Standards Organization (ISO) as a means of managing structured, factual data. Many database companies offer an SQL-type database because purchasers of such databases seek to optimize their investments by buying open databases, i.e., those offering the greatest compatibility with other systems. This means that the information systems are relatively independent of vendor, operating system, and computer platform. Examples of fourth-generation languages include PROLOG, an artificial intelligence language that applies rules to data to arrive at solutions; and OCCAM and PARLOG, both parallelprocessing languages. Newer languages may combine SQL and other high-level languages. IBM's Sonnet is being modified to use sound rather than visual images as a computer interface.

fourth generation language definition language (4GL, or "report generator language") An "application specific" language, one with built-in knowledge of an application domain, in the way that SQL has built-in knowledge of the relational database domain. The term was invented by Jim Martin to refer to non-procedural high level languages built around database systems. Fourth generation languages are close to natural language and were built with the concept that certain applications could be generalised by adding limited programming ability to them. When given a description of the data format and the report to generate, a 4GL system produces COBOL (or other 3GL) code, that actually reads and processes the data and formats the results. Some examples of 4GL are: database query language e.g. SQL; Focus, Metafont, PostScript, S, IDL-PV, WAVE, Gauss, Mathematica, and data-stream languages such as AVS, APE, Iris Explorer. (2004-04-01)

You might also like