Talk:Fourth-generation programming language
From Wikipedia, the free encyclopedia
Contents |
[edit] Contradicting and Confusing
I've marked this article as "Contradicting" for the reason listed below (one topic down), and have also marked it as "confusing" again for the reasons listed below (two topics down). The article is a little muddled and needs to have it's facts checked.
Perhaps with the tags we can get some attention to this article. Autodmc 15:11, 13 September 2006 (UTC)
I'm not a CS expert, but the first couple of lines in this article makes it sound like 4GL is a programming language itself. Chapium 21:36, 27 October 2006 (UTC)
[edit] Contradiction in the article
"The term 4GL was first used by James Martin in his 1982 book..." and then "The term 4GL was used in the 60's." User:vpoko:vpoko 10:01PM 05-06-2006
[edit] Meanings
application specific? I do not understand what is meant by this. And it creates a false impression, I think. 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.
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.
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.
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.
--201.45.111.146 13:23, 26 October 2006 (UTC)
I'd preffer: 4GL aren't general purpose.
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.
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! Psb777 11:25, 31 Jan 2004 (UTC)
After 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. 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.
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? 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? --Andrew Eisenberg 02:59, 6 May 2005 (UTC)
No one has answered my previous question, so I am taking it on myself to say that they are almost identical. Much of the DSL literature I've read even says that 4GPL is a subset of DSLs in the sense that 4GPLs tend to focus on data extraction and manipulation from databases, whereas DSLs tend to have a wider range of application.
See: [1] and [csdl.computer.org/comp/proceedings/hicss/2002/1435/09/14350279.pdf] (essentially same content but in different forms)
I am making the change to reflect this.
I also have a problem with this sentence:
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.
What is the programming crisis? When did it happen? Can someone document this? I think it should go.
--Andrew Eisenberg 19:53, 31 August 2005 (UTC)
-
- Programming crisis!?!?! Yes we can document; it still exists today (see Software_crisis, for instance). Both the 4GL and the 5GL are oriented to correcting the bottleneck (or, trying to remove the wizard from the equation if they become problematic). This phenomenon is the basis for the quest of End-user computing. Now, an example from the late 1970s would be Santa Fe's use of MAPPER. They had non-programmers (that is, end using people who have domain knowledge) doing the development. Yes, even now most IS/IT departments have oodles of backlog that they mostly (IMHO) sit on. I've been in both camps, by the way. Engineers don't typically like IS doing their thinking. And, Santa Fe had an 8-to-1 improvement in productivity, plus the system was in production for years and years. I think that the concept of 'programming crisis' ought to be brought back to fore in this page (or elsewhere). jmswtlk 20:29, 13 November 2006 (UTC)
Why is Postscript (a page description language) listed under database languages??
Han-Kwang (talk) 14:54, 5 November 2005 (UTC)
[edit] Oracle's PL/SQL a 4GL!?
Sorry. But i beg to differ very strongly indeed.
It is definitely a procedural language, and even as such it has lots of "inelegancies" (read: annoyances) when it comes to data types.
If it is a 4GL, then I will freely admit to having misunderstood what a 4GL is...
PS: Sorry for sounding rude. But i thought it would be even more rude just to edit the page without the opportunity to prove me wrong....
[edit] LINC
Since there was no entry for the language, I added one from the bits I remember. I'm sure it can be improved on. --GwydionM 18:52, 6 March 2006 (UTC)
[edit] Unreal
Unreal engine provide developers of games a new programming language specifically geared toward game development. Maybe it is a 4GL, it is clearly not all-purpose, but it's simply very easy to write games using it. By the definition found on this article about what is a 4GL, then unreal programming language clearly is an example of such. Loudenvier 20:04, 20 October 2006 (UTC)
[edit] Comment
I hope that my edit efforts aren't problematic. I've used many 4GLs, both old and new, and have an interest in this generational view for several reasons. It's interesting that 4GL has been given more attention that 3GL or 5GL, but we can correct that. I'm also going to contribute to the 5GL having worked with 9 different variety of Lisp machine and PROLOG and other of that ilk. My research interest is in what mix of the xGLs does a capable system need. jmswtlk 22:44, 9 November 2006 (UTC)
- The specific 4GL's you mention; Mark IV and Mapper, either need their own WP entries, or some explanation of what they are on the 4GL page. Sometimes the language you have used is not very clear and I'm not exactly sure what you mean eg " in the sense of the page", "positional entry of parametric data", "parametric reasoning". Finally WP has a policy of no original research WP:NOR so you need to back up your assertions with external sources (ie where you indicate these 2 as particular success stories - find a scholarly source that demonstrates/agrees with this assertion). Cheers Clappingsimon talk 16:56, 13 November 2006 (UTC)
- Now look at MAPPER and see why 4GL got attention. I'll get to the other issues such as re-wording the 'parametric' description. jmswtlk 20:29, 13 November 2006 (UTC)
[edit] History
I was hoping that the History section could show why there was a motivation for the 4GL. Imagine a deck of 3GL cards that was one or more boxes (think about dropping such a deck). Now, consider the time needed to punch the card, keep things sorted, and so forth. Then, the 4GL approach allowed similar results with only a handful of cards. That accounts for part of the productivity gain. Of course, as the interfaces got better, the 'card metaphor' continued for awhile, meaning that one worked with 80-character (in the IBM world) layouts where position within a line (and, perhaps, even the position of the line in the deck) was used for control. So, for awhile, MARK-IV still had a card-based focus. Then, there were I/O techniques that allowed longer lines (100s of characters); finally, we had line limits that went into the 1000s. As the position was less crucial, so too could formatting relax. Or was it the other way around (chicken-egg)? But, if this whole discussion (evolution of the 4GL) needs to be pushed to another page, that could let the page be more of a brief overview. jmswtlk 17:36, 15 November 2006 (UTC)