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-Procedural3rd-Generation 4th-GenerationLanguage (3GL) Language (4GL) use fileABC use fileABC do while .not. eof() list name, total ? name, total skip enddo.