| Field | Computer |
| Went Obsolete | Programming Language of the Pick / Multivalued systems |
| Made Obsolete By | |
| Knowledge Assumed | Procedural language programming skills |
| When useful | Modification and development on a Pick / MV system |
Data/Basic is a free format language with a structure similar to Fortran. most statements are delimited by new lines in the source code. Data/Basic statement syntax is not column dependent, and both line numbers and labels may be used for flow of control.
Only two types of internal data representations are implemented, string and numeric. The numeric is similar to the fixed decimal in PL/1 with 15 signed bits of exponent and 31 bits of mantissa. Statements may convert variable to and from each data type as needed for the statment, with no limit on the conversions in a statement to a varable.
File operations are conventional with open, read and write statments. Reads of records with parsing is implemented but use is not encouraged due to overhead. Record locking is done by the operating system.
String operations to allow operation on the data from files are added as a special <> array like format, with access to nested attributes, values and subvalues indicated by 1, 2, or three arguments. Subvalue and field builtins may be used on the extracted data similar to other languages.
By convention which dates to early implementation a large number of user functions or “conversions” exist to perform transformations to data contained in variable read from files. These are usually of the form “oconv()” or “iconv()” with the “i” and “o” referring to the direction of the tranformation (in from variable, out to variable). These are one of the most difficult parts of the system to grasp, because the conversions exist in both the Data/Basic language, and very similar ones for the data retrieval system exist which overlap. Coordination of the usage is up to the programmer. I.E. if a conversion is performed on a particular attribute in the retrieval / report system, it is up to the programmer to apply that to the data when operating on it in the program.
