Jump to content

Talk:Fourth-generation programming language

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Autodmc (talk | contribs) at 15:11, 13 September 2006 (Contradicting and Confusing). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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

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.

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)[reply]

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)[reply]

Why is Postscript (a page description language) listed under database languages??

Han-Kwang (talk) 14:54, 5 November 2005 (UTC)[reply]

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....

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)[reply]

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)[reply]