Encyclopedia

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.