Motivation

o++oPS (ottoProgrammingScript) essentially is a linear query language, but it also allows a wide range of computations.

It uses repeating groups (hierarchies) and has several powerful but easy to use operations for selection, restructuring, computation and joining tables and documents.

Features of o++oPS

  • Short programs. simple syntax; Operation names are easy to remember; already programs as a cooking recipe (sequential processing) are very expressive.
  • Conditions do not have to be linked; they can be applied one after the other; two consecutive conditions are not always synonymous with their conjunction (increased expressiveness).
  • Powerful operations for selection, restructuring, calculation, combination and solution of BOM problems,
    compact (hsq) and simple (tab) display of tabs (tables and documents).
  • Aggregations without GROUPBY; GROUPBY cannot be applied to data streams.
  • No Cartesian product (cross product); in the cross product, each element of one table is always merged with each element of the other table. This also creates very large intermediate tables in mind. Join-Conditions are always required.
  • User functionality can be integrated into o++o programs; this means that embeddings of o++o in conventional programming languages such as JAVA or C become less important.
  • At o++o, programming methodology is about computer efficiency; the latter is largely guaranteed by improved hardware.
  • The basic operations are easier to understand than the algorithm of decimal multiplication.
  • Implementation in OCaml (INRIA Paris); This makes o++o to a purely European product.
  • Search trees could be integrated into Tabmente; this results in a much better efficiency for many problem classes.

Aims of o++oPS

  • There should be a readable program behind each click; if the end user then has a problem with the computer result, he can modify the program himself until he has achieved the desired result.
  • Advanced requests to Wikipedia; At the moment, much information from Wikipedia can only be extracted with great manual effort.
  • o ++ o should become a universal interface for tables and documents; i.e. the user should be able to query any databases, files, retrieval systems and the Internet with uniform means.