Software is a tool for the mind.
It not only allows us to work with massive volumes of data but also encourages us to think in new an different ways.
Procedural literacy defines this potential. Michael Mateas describes procedural literacy as:
"the ability to read and write processes, to engage procedural representation and aesthetics"
This elevates programming from being a mere technical task to one that becomes a way of representing the world, a communication, an expression.
You author code that enforces rules to generate a representation instead of authoring the representation itself.
And procedural representations are not static - they are a system of rules that define a space of possible forms or actions.
In the book Form + Code, the authors outline the themes for these procedural aesthetics:
These themes help in the formalization of procedural aesthetics and literacy; how algorithms relate to form, how we can navigate the unknown creative space, how to put meaning into the creation.
As well as being used at the forefront of existing creative fields, software can be used to assume new modes of expression through these themes.
A largely untapped potential, a field still in it's infancy; where instead of being used to produce something preconceived, the computer participates in the development of the form.