Nomad Software is a relational database and fourth-generation language (4GL), originally developed in the 1970s by time-sharing vendor National CSS While it is still in use today, its widest use was in the 1970s and 1980s.
Nomad provides both interactive and batch environments for data management and application development, including commands for database definition, data manipulation, and reporting. All components are accessible by and integrated through a database-oriented programming language. Unlike many tools for managing mainframe data, which are geared to the needs of professional programmers in MIS departments, Nomad is particularly designed for (and sold to) application end-users in large corporations. End-users employ Nomad in batch production cycles and in Web-enabled applications, as well as for reporting and distribution via the Web or PC desktop.
Nomad is distinguished by five characteristics:
Nomad's language was designed to simplify the application development process, especially for reporting applications. Where possible, common requirements were addressed by intuitive nonprocedural syntax elements, to avoid traditional programming. The heart of the system was the LIST command, which created report output.
In this example, database fields STATE, CUST_ID, NAME, PHONE, STATUS, and BALANCE are laid out on a grid, with two sort breaks (via BY), generated columns based on data values (via ACROSS), and data selection (via WHERE). Additional keywords could control subtotals, titles, footers, table lookup, and myriad reporting details.
The LIST command is somewhat analogous to the SQL SELECT statement, but incorporates formatting, totaling, and other elements helpful for tailoring output to a business requirement. The SELECT statement, in contrast, is essentially a data query tool: its results would be processed or formatted as required using other mechanisms. This distinction is highlighted by SQL's classification as a 'Data Sublanguage' (DSL): SQL is a powerful formalism for controlling data retrieval. The LIST command is a comprehensive report writer addressing broader functionality.
Another example of Nomad's power is illustrated by Nicholas Rawlings in his comments for the Computer History Museum about NCSS (see citation below). He reports that James Martin asked Rawlings for a Nomad solution to a standard problem Martin called the Engineer's Problem: "give 6% raises to engineers whose job ratings had an average of 7 or better." Martin provided a "dozen pages of COBOL, and then just a page or two of Mark IV, from Informatics." Rawlings offered the following single statement, performing a set-at-a-time operation, to show how trivial this problem was with Nomad: