Methodology

Strings represents a radical departure from traditional programming models to a declarative model that significantly reduces the cost of building, deploying and maintaining applications. In traditional Imperative Models, developers build applications by defining both the logic and the control associated with an application. Since the logic and control of the application are bound together, the resultant behavior of the application cannot be changed without changing the code associated with it.

In Strings, logic and control are completely separated. This allows developers to define logic by building discrete software components that are recombined at runtime based on separate rules which define the control. A powerful result of the Declarative Model used in Strings, is a complete separation of the internal and external relationships between objects. Rather than requiring objects to interface directly with each other, as is typical of Object Oriented systems, the Strings runtime environment facilitates communication between these objects without exposing their interfaces.

As a result, Strings allows developers to concentrate on logic contained within objects rather than building monolithic applications that can only be integrated with other applications through cumbersome interfaces. This enables a much greater level of reuse since objects can now be used in many different contexts at compile time and at runtime.