Is SQL a 4GL? No?

From: Eric Wei <>
Date: Thu, 30 Dec 93 11:52:04 -0500
Message-ID: <>

IMHO: ( correct me if I am wrong, because I might encounter

        similar situation in the future. And I don't want to be wrong again )

4GL is not a conventional programming language where we could see IF..THEN or DO..WHILE statements from.

                4GL: the 'Language' is confusing many of us.
4GL is a process that generates program code. It eliminates unnecessary 
coding.  ^^^^^^^

4GL is a non-procedural process.

4GL is a TOOL to easily generate 3GL structural programming language code (SQL, C) or 1GL machine code for us. For example, Window NT is a 4GL system programming environment. There is NO Unix shell or DOS batch type of programming in WNT. Where is the 4G 'Language' in WNT? Every system programs we made in WNT is done by either a series of key strokes or clicks on the mouse. While we are clicking the mouse to create an icon, we are doing the 4GL programming already.

In one of the article:
It says "SQL is the de facto 4GL standard". I TOTALLY AGREE ! But they are in

different layers. I would rephrase it to "SQL is the 4GL's output standard in
many database systems". The statement in that article makes most of the people think 'SQL is the 4GL itself'.

For example:

        "TCP/IP is the de facto Open System standard"
        This statment does not tell us that TCP/IP is a kind of Open System.
        I interpret it to 'TCP/IP is part of the Open System'. They are 2 
        seperate layers.

 Therefore, "SQL is a 4GL standard"  not equals to "SQL is a standard 4GL"
              	      ^^^ ^^^^^^^^                           ^^^^^^^^^^^^
                   adjective                                       noun

No matter how many powful SQL commands/statements added into the SQL command set, it does not make the SQL a 4GL. Because the way of programming under SQL (alone) is still the same. We have to still deal with coding all the time. But SQL with SQL*form make Oracle 4GL.

We say Oracle, Progress, FOXPro are 4GL. It means, These

                                    ^^^ adjective
products have the 4GL architecture built in. They may or may not have the traditional programming coding. But if special function and customization are needed, then a 3GL environment (SQL) would be a great help.

We heard lots of products are 4GL (adjective). But rarely we heard a programming language is a 4GL (noun).

What do you think? You correction is realy important to me, if I am wrong. I thank you in advance.

BTW, where could I get the FAQ of this group? Received on Thu Dec 30 1993 - 17:52:04 CET

Original text of this message