Subjective Programming:


-Formal and Informal Systems
-Bureaucratic Programming  (general problem solving)
                                             -> which process requires which data, when and in what format?
                                             -> what infomation is available, what is required and is it accessable?
                                                  (too much (or too little?) garbage, poor communication, lack of information, etc..)




          PROGRAMMING STRATEGIES, PARADIGMS AND METAPHORS




   I.        Introduction -The Need for Metaphors:

      a. What you think is what you get:

        Theoretically, The "TURING MACHINE" which forms the basic theoretical
        model for the computer is a "UNIVERSAL SIMULATION MACHINE". In other
        words it should be able to simulate any process which can be formally
        described as a machine.

        Actually, the original model was developed in terms of a "PROBLEM
        SOLVING MACHINE" which limited its application to situations where
        it was theoretically possible to compute an answer within a finite
        number of steps (i.e. The COMPUTABILITY problem). Today such an idea
        is rather ridiculous as theoretically excludes the computer from
        simulating any process that is not predictably finite.

        Nowadays computer controled power stations, chemical factories and
        telephone systems are everyday examples of continuous processes which
        have taken over by the machine. One might even ask what is the
        "computability" of a text-editor, a cad-cam package or even a video-game?

        However, the paradigm shift from a machine providing finite solutions
        for specified problems to a machine managing complex control and
        communication systems in continuous use demonstrates how important our
        concept of the machine is in determining what it can actually do.

        This Text is involved with an attempt to try and explore the different
        principles on which conceptual models may be based, to try and order
        them within some kind of Meta-System (which may help us to discover
        new principles) and to explore some of the implications of basing
        models on the different principles.


      b. Worlds of Convenience:

         i.    Freedom versus Efficiency:

                How big must a toolbox be? One tool which does everything
                -just takes about two hours to convert it from a screwdriver into
                 a hammer, unfortunately it does not cut very well.


         ii.   Finding Things: (Global and Local adresses)

                Global coordinates, Postal address, e-mail address

                Names may be useful labels for determining which object
                (or possibly subject) we are referencing, but they are
                usually fairly arbitrarily assigned, which is reflected
                by the difficulty we may have in remembering which label
                belongs to which object.

                Adresses are not arbitrary "labels" but are in fact
                "locations" specifying where things can be found.
                Obviously they can also function as Names. Although
                we might have emotional objections we could name a
                complete family as: Mr & Mrs Flat 33-b, 1st child Flat 33-b,
                2nd child Flat 33-b, etc...

                An interesting feature of the example above is the fact
                that it mixes locations in time and space. Flat 33-b is
                obviously a location in (Local) space (although we do not
                know its location in Global space (i.e. which Street, which
                Town or which Country). 1st child (Primus), 2nd child
                (Secundus), 3rd child (Tertius), etc... are obviously
                locations in time. The Roman names demonstrate perfectly
                how adresses can also become labels (and also how long
                clumsy systems can be compacted to more elegant ones).

                 Coordinates in Space: (cartesian, polar -dimensions)

      c. What you've Got is What you Get:

             -Material or conceptual qualities and Cross Media mapping.

         i.   Context Free and Context Dependant:

               Essentially the ontological choice between a neo-platonic world
               of things which have existential identitities which are inherent
               and are everywhere and always the same (i.e. Context Free) or a
               world of flux and change where enviroments are not only created
               by the things which compose them but the component parts also
               derive their identities from the environment of which they are
               part of (i.e. Context Dependant).

               i.e. As children of the post-railway age, most of us have learnt
               at an early age that clocks in principle agree regarding TIME
               -independant of where we may be at the time. So having learned
               that TIME is Context Free it tends to confuse us when we start
               crossing Time-Zones and we discover that Time is in fact Context
               Dependant. Perhaps even more fascinating is the fact that
               North-South journeys do not affect TIME so TIME is dependant not
               on Distance but on Speed and Direction.


         ii.  Evolution and Environment:

               The story goes that Darwin "Discovered" the Theory of Evolution
               by noticing local physiological variation in species as a result
               of behavioural differences forced upon them by variation in the
               physical environment.

               i.e. If local conditions caused a bird to eat seeds larger than
               normal then the birds beak will need to adapt to the heavier work.

               Evolutionary Theory started a Religious battle which is still
               being fought by fundamentalist believers of the Christian Bible.
               Unfortunately, the subtle paradigma shift from a Context Free
               (neo-Platonic) world to the Context Dependant world implied by
               Evolutionary Theory, although often applied in practice, seems
               often to avoid our concious recognition.

               Perhaps Darwinian Evolution has also killed the Humanistic Dream
               of Human Free Will. The manipulators of behaviour have now
               learned that to try and persuade people to change their behaviour
               is a waste of time -one simply has to modify the environment
               and the subjects behaviour automatically changes to fit in with
               the new environment.


         iii. Paradigm, Metaphor, Context and Inteligence:

               Inventing Form and Differentiation in order to simplify the
               organization and improve control of the Universal Simulation
               machine.

               Perhaps the most important Metaphor for the computer is to be
               found in the childrens stories about people who release a spirit
               from a bottle and are given three wishes as reward. Generally, the
               wishes are badly formulated and the results of the wish-fulfilment
               become disasters.


   d.  Conceptual levels:

         switching to colour.

              -binary switch in parrallel allows range of numbers to be
               constructed (conversion by converting n-dimensional space
               to one-dimensional space). These numbers can be used to code
               colours (which are also points in a minimally three-dimensional
               [red,green,blue] space).

               At this point, humans and machine will be literally talking
               different languages. The machine will presumably continue to
               operate on the binary level but the human will tend towards
               interpretation in terms of visible colours (or perhaps their
               decimal ID).




   e.       Syntactic and Semantic:

         Linnehan: -Uniting the Algorithmic with the Iconographic.

            Syntactic                        Semantic
              -the formula                      -the result
              -what it is                       -what it does
              -the form                         -the meaning

           Both are points (the realized) in a gramatical space (the potential).


   II.       Application Levels


     1.   Data Paradigms:

                   (organisation of data storage)

                -Numerical (integer, real, imaginary)
                -Unordered (strings, lists and sets)
                -Ordered   (structures and parametrical space)

     2.   Programming Language Paradigms:

                -compiled or interpreted
                -functional or procedural
                -universe of discourse
                    (repertoire of elements and procedures)
                -grammatical freedom
                    (structured or unstructured)
                -programming aids

     3.   Processing Paradigms

            -Functions and Lookup Tables

     4.   Organisatorial Paradigms:

            -individual
                 -string interpretations (logical switches)
                 -scanning (cell automata and Turing machines)
                 -movable finite automata
                 -genetic algorithms

             -social
                 -parallelism
                 -collabourative
                 -neural nets
                 -intra- and internet

      5.  Control Strategies:

            -"Clock" or "Logic" driven Events

                Clock Systems:
                  Are a series of events triggering a threshold which is "High"
                  and there is a fractional increase towards the threshold.

                Logic Systems:
                  Involve a single (logical, mathematical) condition triggering
                  a threshold which is "Low" so it is a binary threshold.

                Mixed (Meta) Systems:

                  Events triggered by either clocks or logic can also be
                  used to trigger a threshold on a (higher) meta-level.

      6.  Design Strategies:

            -Top Down or Bottom Up
            -Prototyping
            -Exploration or Expression
            -Syntactic and Semantic Dialogue
                 (mapping levels of interpretation)
            -Abstraction
            -Construction, Deconstruction and Reconstruction


      7.  Some Traditional Media Metaphores

            -Puppetry        (control and movement systems)
            -Weaving         (binary pattern generation)
            -Printmaking     (layered construction)
            -Gardening       (umpiring automatic systems)
            -Games           (formal rules and strategies)


   III.      Some General Strategies

     1.   Logical Paradoxes and Theorems

      a. Locks

           A conditional statement which changes the state of the variable
           upon which it is conditional functions as a self locking door
           and may be useful for initializing variables.

             i.e.

                    IF z=0 THEN z=1: (initialize): ENDIF

      b. Endless Loops

           Conditional loops which never achieve their terminal condition
           are useful for maintaining processes which never end.

             i.e.
                    WHILE z=0: WEND

      c. Catalytic Starts

           Some processes may work perfectly but are unable to begin.
           For example, a system which adds the values of three neighbouring
           pixels and increments the middle pixel by that value will never
           change if initiated in a field of zeros.

      d. Unstable Switches

           A set of unstable states can be created by generating a logical
           paradox.

           i.e. in an array of variables each variable is incremented by
           the value of it's lower neighbour if it is equal or smaller than
           it's higher neighbour.

           Assuming that the array is linked in a ring form so that the
           highest element is concidered as being a (lower) neighbour of the
           first element and the values of the elements cycle through their
           maximum values and become smaller -then it is obvious that not all
           elements in a ring can be equal or smaller than their following
           neighbour.

     2.   (Statistical) Analysis and Interpretation Systems
     3.   Codes and Message Passing Systems
     4.   Conversion, Scaling and Interfacing
            -Binary/analogue

    IV.      Self Modifying Systems

    V.       Meta-Strategies

                Abstraction     -Looking for Basic Principles    (categorization)
                Simplification  -Parametrification of Data       (comparason)
                Modularization  -Define Basic Alphabet           (inventorisation)
                Grammatize      -Define Combination Rules/Principles

                  -defining     spaces
                  -relating     spaces
                  -controling   spaces
                  -interfacing  spaces
                  -transcending spaces

    VI.      General advice

               -complexity can only be achieved through simplicity
               -emphasis on exploring system and not achieving specified aims
               -accessability of data (storage structures).

                                                   Trevor Batten
                                                Amsterdam, May 1997