A computer language that does not require writing traditional programming logic. Also known as a "declarative language," users concentrate on defining the input and output rather than the program steps required in a procedural programming language such as C++ or Java.
The following dBASE example shows both procedural and non-procedural commands to list two fields in a file. The non-procedural LIST displays all the records in a file. In the 3GL version, a logic loop must be defined (
do/enddo), the next record must be read (
skip), and the end of file must be tested (
while .not. eof()). See
fourth-generation language. Contrast with
procedural language.
Procedural Non-Procedural
3rd-Generation 4th-Generation
Language (3GL) Language (4GL)
use fileABC use fileABC
do while .not. eof() list name, total
? name, total
skip
enddo