|
|
Fourth-generation programming languageA fourth-generation programming language (or 4GL) is a programming language designed with a specific purpose in mind such as the development of commercial business software. The process of software development had been much improved with modern block structured third-generation programming languages but it was still frustrating, slow, and error prone to program computers. This led 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. The term 4GL was according to James Martin first used in his 1982 book ''Applications Development Without Programmers'' to refer to non-procedural high-level specification languages. Nevertheless, the great majority of users of 4GLs would describe themselves as programmers and most 4GLs allowed for (or required) system logic to be written in a proprietary macro language or in a 3GL. All 4GLs are designed to reduce: * programming effort. * the time it takes to develop software. * the cost of software development. They are not always successful in this task and sometimes result in inelegant and unmaintainable code. However, given the right problem the use of an appropriate 4GL can be spectacularly successful. A number of different types of 4GLs exist: :Report-generator programming language 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-generator programming language manage online interactions with the application system users or generate programs to do so. :The more ambitious 4GLs (sometimes termed ''fourth generation environments'') 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. Some 4GLs have integrated tools which allow for the easy specification of all the required information. Examples include: *James Martin's own ''Information Engineering'' systems development methodology was automated to allow the input of the results of system analysis and design in the form of data flow diagrams, entity relationship diagrams, entity life history diagrams etc from which hundreds of thousands of lines of COBOL would be generated overnight. *More recently Oracle Corporation's Oracle Designer and Oracle Developer 4GL products could be integrated to produce database definitions and the forms and reports programs. Some successful 4th-generation languages are: *Database query languages: **SQL **Oracle SQL*Plus **Progress 4GL *Report Generators: **Oracle Reports **LINC_4GL **GEMBase **BuildProfessional **Metafont **RPG_programming_language **S programming language **IDL-PV/WAVE **Gauss **Mathematica *Data manipulation, analysis, and reporting languages: **Focus software **SAS Institute **Informix-4GL **Aubit-4GL **Ab Initio *Data-stream languages such as **AVS **APE **Iris Explorer *Screen painters and generators **Oracle Forms *GUI creators **Visual Basic **MATLAB's GUIDE ==See also== *first-generation programming language *second-generation programming language *third-generation programming language *fifth-generation programming language ==External links== * [http://www.soi.city.ac.uk/~tony/dbms/4ges.html Fourth Generation Environments] ---- Fourth-generation programming language''application specific''? I do not understand what is meant by this. And it creates a false impression, I think. User:Psb777 04:48, 30 Jan 2004 (UTC) 4GL's are usually designed with a particular application in mind, such as rendering a data input screen or a financial report with headings and sub-headings. The language and compiler have commands specifically geared to these functions. The language C for example lacks specific commands of this nature as it was not specifically designed for these purposes eventhough it can be used for these purposes by the use of application specific libraries. User:Davidzuccaro OK, I understand what you mean but the problem then is with the word ''application'' which is ambiguous. Application as used here means ''type of application'' whereas, in my old software house, it meant a solution to a particular problem. I think also someone could take ''application specific'' to mean something like ''for hardware shops only''. User:Psb777 06:17, 31 Jan 2004 (UTC) I suppose you could replace the first sentence with something like: A 4GL is a programming language designed with a specific purpose in mind such as the timely development of commercial business software. User:Davidzuccaro 09:12, 31 Jan 2004 (UTC) But I'm not sure that that is what a 4GL is. 4GLs were intended to remove the programming effort but ''as a consequence'' they end up only being usable in certain types of task. Not as a design goal but as what I am sure the 4GL creators themselves considered a limitation. Do you remember "The Last One" (I think that's what it was called)? Lots of hype in the press at the time. Late 1980's, I think. Furthermore most on the list of so-called 4GLs are not, in my opinion, that. User:Psb777 09:29, 31 Jan 2004 (UTC) I've been programming with different 4GL's for over 14 years (LINC, GEMBASE, BuildPro et al.). All of them seem to have been designed for the development of commercial database software with the minimum of effort and cost (both seem to be goals). They are not always successful at this though ;) I suppose there are other 4GLs that were designed for different purposes. I doubt the 4gl designers thought that the 4gls could or would be used for developing and OS kernel for example. Yes this is a limitation but it is an irrelevant limitation. I haven't heard of "The Last One". I agree with you about the list, the inclusion of SQL and postscript is questionable, not sure about the others as I have never used them before. I guess there is a "grey area" where something like SQL could fall into. As an aside I find 4GL syntax rather unwieldy and inelegant at times. Also 4gl command sets are quite large, take some time to learn and can be buggy. User:Davidzuccaro 10:36, 31 Jan 2004 (UTC) You're right, and having reread your suggested sentence I think you should add it. Not that you had to wait for me! User:Psb777 11:25, 31 Jan 2004 (UTC) After User:Davidzuccaro's improvement I have added a whole lot more stuff. Please feel free to cull, edit, improve as necessary. One of the ''many'' areas of fixing needed include the categorisation of the 4GLs at the end. User:Psb777 03:57, 1 Feb 2004 (UTC) Great work Psb777 perhaps the categorization could be arranged into some kind of table as the 4GL's I am familiar with would fit into more than one category. User:Davidzuccaro 08:48, 1 Feb 2004 (UTC) Why is "Visual Basic" considered a 4th generation LANGUAGE, if it's just a GUI ontop of Basic. So is "Visual C++" a 4th GL? How can an application be considered a language? Thoughts? User:Paitum 18:02, 14 Sep 2004 (UTC) To answer your question, here is the definition of a programming language as defined here: :A programming language or computer language is a standardized communication technique for expressing instructions to a computer. It is a set of ''syntactic'' and ''semantic'' rules used to define computer programs. A language enables a programmer to precisely specify what data a computer will act upon, how these data will be stored/transmitted, and precisely what actions to take under various circumstances. The key parts are ''syntax'' and ''semantics''. There is nothing in there that says it needs to be textual. I would argue that a WYSIWYG GUI builder has a precise syntax and semantics, making it a precise way to communicate to a computer. I have another question: How are 4GLs different from Domain Specific Languages? --User:Andrew Eisenberg 02:59, 6 May 2005 (UTC) See other meanings of words starting from letter: FFA | FB | FC | FD | FE | FG | FH | FI | FJ | FK | FL | FM | FN | FO | FP | FR | FS | FT | FU | FW | FX | FY | FZ |Words begining with Fourth-generation_programming_language: Fourth-generation_programming_language Fourth-generation_programming_language
Sponsored links: praca, nurkowanie.
|
These materials are based on Wikipedia and licensed under the GNU FDL
YouTube.com videos better site than Turbo Tax 2007 |
|
|