Table-oriented Programming Website Links For
Programming
 

Information About

Table-oriented Programming




Table Oriented Programming is the name given to programming based on Relational Model rather than Object Oriented Programming 's Type Theory . It can be considered a sub-set of Collection Oriented Programming , of which APL Programming Language is a member.

Characteristics include:

  • Heavy use of tables and relational technology

  • Logic tends to be attribute-driven instead of code-driven

  • A belief that hierarchies are of very limited use or possesses scalability problems

  • The practice of managing code or dispatching code "snippets" using tables

  • Heavy use of Data Dictionaries to control or manage form and report field information

  • A belief that many kinds of information are easier for the human eye to read and study if in tabular form



HISTORY


The term appears to be coined by a book titled "Programming with Logic Tables" published in 1970 by reference when found, still hunting down specifics . This book proposed using tables of Boolean values and/or operators in place of or as an addition to statement-based programming. The phrase was later propogated on the web by a handful of fans of XBase , a table-oriented group of scripting languages.

A table-oriented tool called "TABSOL" was related to another product called GECOM. According to Computing-Dictionary.com, TABSOL was able to convert truth tables into programming code in the mid-1960's.

Table-oriented programming techniques themselves have existed at least since the creation of the APL programming language, an array-oriented language. However, relational-influenced techniques tend to differ from array oriented ones. For example, relational techniques tend to use names to reference table "cells" in place of integer subscripts favored by array tools.


EXAMPLES


A fairly common feature in table-oriented languages is the ability process an expression or set of instructions over a table (real or virtual) or query result without explicitly writing programming loops. Here is a hypothetical query roughly based on SQL -like constructs (for familiarity):

EXECUTE myFunction(a, b) WHERE a < 3 and c = 'dog'

(Here lower-case letters represent table columns, although in practice more descriptive column names are preferred.)

This example processes each row that satisfies the given condition ("WHERE" clause) by executing the given expression ("myFunction" in this case) in the context of each row.


SEE ALSO



EXTERNAL LINKS