Programming can create a bridge for art of the past and present. Artists use software to do what they could otherwise not. Although programs are nothing more than 1's and 0's in a sequence, they are be are very powerful and potent tool to evoke new environments for new media.
There are six areas of software expression. We can look at these as the basic aspects of programs in general. They include, Dynamic form, Gesture, Behavior, Simulation, Self - Organization, and Adaptation...
Dynamic form; changes in time and responsive. This can include input for several sources like mouse input, microphone, and video.
Gesture; Hand gestures, for example. Can be layered, gradual, and includes interpreting gestures that can be more complex. These gestures can go from subtile to large and overwhelming.
Behavior; Movement with the appearance of intent. Creates a personality.
Simulation; aspects of the physical world - Uses our senses and shows forces; mass, acceleration, mimicking perspective, materials and physical laws. Natural systems can also be simulated.
Self - Organization; makes emergence possible. Structures emerge through interaction. Small changes to rules of interaction can cause large changes to processed visualization.
Adaptation; Ability to change. The software muse be aware of its content. Adaptive expressions are rare. It is possible with an interpreter for a program to modify its content while running.
- - - - - - - - - - - - - - - - - - - - -
Example of software expression: Adaptation ; a rare trait.
I found that adaptation was the most fascinating trait of software expression. This is because of how rare and difficult it is within software programs in general. Also I find that it leans more toward artificial intelligence , a subject that I am interested in within art. It seems to me, that for art to more forward into the far future, artificial intelligence is the clear way that it is going. Adaptation calls for a given software to be self aware in a way. That is that, a program must be flexible, self aware, and predictive.
Furthermore, adaptation must be thought of as a first point during creation of software. As in the first link I have posted, the article states that, "Self adaptable software requires high dependability, robustness, adaptability, and availability."
"Architecture - Based Approach to Self Adaptive Software" Paper by Peyman Oreizy, Michael Gorlick, and others