Cyhist Apr 15 1997 G
Date: Tue, 15 Apr 1997 15:37:48 -0400
Reply-To: "CYHIST Community Memory: Discussion list on the History of
Cyberspace" <CYHIST@MAELSTROM.STJOHNS.EDU> Sender: "CYHIST Community Memory: Discussion list on the History of
Cyberspace" <CYHIST@MAELSTROM.STJOHNS.EDU> From: Jimmy Little <jimmy-little@MINDSPRING.COM>
Subject: Re: CM> Origins: fourth generation programming languages?
In-Reply-To: <199704141919.PAA06494@camel5.mindspring.com> Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
______________________________________________________________________
Community Memory: Discussion List on the History of Cyberspace ______________________________________________________________________
>... What is the definition of a "fourth generation" programming language? ... Why is this terminology useful? What are its origins?
>From - http://wombat.doc.ic.ac.uk/?fourth+generation+language
(begin quote)
fourth generation language
An "application specific" language. The term was invented by Jim Martin to refer to non-procedural high level languages built around database systems. The first three generations were developed fairly quickly, but it was still frustrating, slow, and error prone to program computers, leading to the first "programming crisis", in which the amount of work that might be assigned to programmers greatly exceeded the amount of programmer time available to do it. Meanwhile, a lot of experience was gathered in certain areas, and it became clear that certain applications could be generalized by adding limited programming languages to them. Thus were born report-generator languages, which were fed a description of the data format and the report to generate and turned that into a COBOL (or other language) program which actually contained the commands to read and process the data and place the results on the page.
Some other successful 4th-generation languages are: database query languages, e.g. SQL; Focus, Metafont, PostScript, RPG-II, S, IDL-PV/WAVE, Gauss,
Mathematica and data-stream languages such as AVS, APE, Iris Explorer. (end quote)
Having spent a good part of my professional career working with fourth generation languages, and most of that in the so called "imaginative" side of the business I can attest that this is a fair descriptive of 4GLs. Two notes: 1) 4GLs do not always translate into a 3GL for subsequent compiling, etc. They often are run directly as interpreted code and can sometimes be very poor from a performance standpoint due to this. 2) The supplied list of 4GLs is not very familiar. Of those listed above I am only familiar with four of them.
>The reason my friend used the term fourth generation was to describe computer languages which handle much of the behind-the-scenes work automatically
And this is exactly the intent of most 4GLs. They automatically handle tasks which are often mundane allowing the programmer to concentrate on the actual business problem at hand. They are often associated with database management systems and many times are non-procedural, 'this is what I want' type of languages.
The term is often extended to non-language type tools such as form painters, etc. The distinction between 'programming' and 'scripting' is often blurry in a 4GL tool. Most 4GL tools comprise several components such as a screen or form painter, a report painter, a 'language' (or logic construct), and a mechanism for tying them all together to make full featured applications.
Capers Jones of Software Productivity Research (SPR) rates languages according to their level (see http://www.spr.com/library/langtbl.htm ) which gives a better idea about the usefulness of a language over a broad category such as third or forth generation. (BTW he gives FORTH a rating of 5.00, much closer to the default third generation rating (4.00) than the default fourth generation rating (16.00) although many of these ratings appear to be only good guesses).
In general, the term is useful but is often very misleading...JL ****************************************************************************
Jimmy Little, Atlanta, Georgia, USA - All opinions expressed are MINE! jimmy-little@mindspring.com OR http://www.mindspring.com/~jimmy-little/ "Do not needlessly endanger your lives until I give you the signal." A.E.
______________________________________________________________________
Reply-To: "CYHIST Community Memory: Discussion list on the History of
Cyberspace" <CYHIST@MAELSTROM.STJOHNS.EDU> Sender: "CYHIST Community Memory: Discussion list on the History of
Cyberspace" <CYHIST@MAELSTROM.STJOHNS.EDU> From: Jimmy Little <jimmy-little@MINDSPRING.COM>
Subject: Re: CM> Origins: fourth generation programming languages?
In-Reply-To: <199704141919.PAA06494@camel5.mindspring.com> Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
______________________________________________________________________
Community Memory: Discussion List on the History of Cyberspace ______________________________________________________________________
>... What is the definition of a "fourth generation" programming language? ... Why is this terminology useful? What are its origins?
>From - http://wombat.doc.ic.ac.uk/?fourth+generation+language
(begin quote)
fourth generation language
An "application specific" language. The term was invented by Jim Martin to refer to non-procedural high level languages built around database systems. The first three generations were developed fairly quickly, but it was still frustrating, slow, and error prone to program computers, leading to the first "programming crisis", in which the amount of work that might be assigned to programmers greatly exceeded the amount of programmer time available to do it. Meanwhile, a lot of experience was gathered in certain areas, and it became clear that certain applications could be generalized by adding limited programming languages to them. Thus were born report-generator languages, which were fed a description of the data format and the report to generate and turned that into a COBOL (or other language) program which actually contained the commands to read and process the data and place the results on the page.
Some other successful 4th-generation languages are: database query languages, e.g. SQL; Focus, Metafont, PostScript, RPG-II, S, IDL-PV/WAVE, Gauss,
Mathematica and data-stream languages such as AVS, APE, Iris Explorer. (end quote)
Having spent a good part of my professional career working with fourth generation languages, and most of that in the so called "imaginative" side of the business I can attest that this is a fair descriptive of 4GLs. Two notes: 1) 4GLs do not always translate into a 3GL for subsequent compiling, etc. They often are run directly as interpreted code and can sometimes be very poor from a performance standpoint due to this. 2) The supplied list of 4GLs is not very familiar. Of those listed above I am only familiar with four of them.
>The reason my friend used the term fourth generation was to describe computer languages which handle much of the behind-the-scenes work automatically
And this is exactly the intent of most 4GLs. They automatically handle tasks which are often mundane allowing the programmer to concentrate on the actual business problem at hand. They are often associated with database management systems and many times are non-procedural, 'this is what I want' type of languages.
The term is often extended to non-language type tools such as form painters, etc. The distinction between 'programming' and 'scripting' is often blurry in a 4GL tool. Most 4GL tools comprise several components such as a screen or form painter, a report painter, a 'language' (or logic construct), and a mechanism for tying them all together to make full featured applications.
Capers Jones of Software Productivity Research (SPR) rates languages according to their level (see http://www.spr.com/library/langtbl.htm ) which gives a better idea about the usefulness of a language over a broad category such as third or forth generation. (BTW he gives FORTH a rating of 5.00, much closer to the default third generation rating (4.00) than the default fourth generation rating (16.00) although many of these ratings appear to be only good guesses).
In general, the term is useful but is often very misleading...JL ****************************************************************************
Jimmy Little, Atlanta, Georgia, USA - All opinions expressed are MINE! jimmy-little@mindspring.com OR http://www.mindspring.com/~jimmy-little/ "Do not needlessly endanger your lives until I give you the signal." A.E.
______________________________________________________________________