Nomad Software - Capabilities

Capabilities

Nomad is distinguished by five characteristics:

  • An intuitive database-oriented 4GL for creating databases, managing data, and writing applications
  • An interactive environment in which any 4GL statement may be typed and immediately processed (comparable to interactive tools like PHP or Perl)
  • Relational database features, supporting lookup tables and the other elements of a normalized relational database
  • Powerful set-at-a-time operations under the control of simple imperative commands
  • Accesses data from many sources, such as VSAM, IMS, IDMS, DB2, Oracle, and SQL server.

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.

LIST BY STATE BY CUST_ID NAME PHONE ACROSS STATUS BALANCE WHERE STATE AMONG('CT','NY') State Customer ID Name Phone Active Inactive New ----- ----------- ----------------- ------------ -------- -------- --------- CT 1001 ABC Co. 203-555-1212 1200 0 0 1012 DEF Co. 203-555-1313 0 50 900 NY 1305 GHI Co. 212-555-1414 2650 0 0

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:

CHANGE ALL SALARY=SALARY*1.06 WHERE POSITION='ENG' AND AVG(INSTANCE(RATING)) GE 7

Rawlings continues: " decided to drop the idea . was too unbelievable for him. He published his book in 1982, with many fine examples of NOMAD, most of which look silly today, for they don't reflect what NOMAD was really used for in the years since: serious, mission critical applications. I used Martin's Engineer's Problem in hundreds of NOMAD classes, as I forced people to think in terms of sets of data, instead of record-at-a-time, which is how they'd been taught."

Read more about this topic:  Nomad Software

Famous quotes containing the word capabilities:

    I maintain that I have been a Negro three times—a Negro baby, a Negro girl and a Negro woman. Still, if you have received no clear cut impression of what the Negro in America is like, then you are in the same place with me. There is no The Negro here. Our lives are so diversified, internal attitudes so varied, appearances and capabilities so different, that there is no possible classification so catholic that it will cover us all, except My people! My people!
    Zora Neale Hurston (1891–1960)