computer language and human creativity

2
omputer Language and Human reativity Alex McLean and Geraint Wiggins GoldsmithsUniversity of London November 302009 bstract Here we consider performative descriptions of discrete computation known as soure o de from the viewpoint of human and computational creativity . If we assume that creative agents are changed as part of their creative processes then this view becomes central; a self-modifying agent is to some degree programming itself. Anticipated length: 8500 words Backg round HistoryA brief section provi ding historical context to the discussion. Some pre-hist ory about the origins of programming in human computation and textile factories, and human engagement with symbolic representation in music and literature. Overview of the inuences of logic, mathe- matics and linguistics on computer language. An outline of the early development of programming ‘hacker’ culture at the MIT computer lab which while both funded by the military and heavily male dominated, had a spirit of freedom and openess which inspired the contemporary free software movement Levy, 2002). ConventionsA high level look at the conventions of programming, in particular those having strong impact on how a programmer reasons about and constructs a program. First, the paradigms of programming language, from the imperative focus on method, the declarative focus on nature, to the reacti ve focus on behavi our Elliot t, 2009). Then, how execution time is represen ted, or more common ly , not repres ente d in the source code of a program. The broad notions of types, safety and security will also be touched upon, being language describing relationships and contracts between the program and the outside world, dening links between a software agent and a possibly creative culture. 2 Creativit y in pr ogrammi ng culture Reviewing the creative role of the human programmer within contemporary culture. The division of labour in military , corporat e and indeed art institutions has in genera l cast the progra mmer as a tec hnicia n, impl emen ting the design s of others. Accor dingly , a stere otyp ical gure of engin eer- programmer is widely held. However counter-cultures have emerged where programmer creativity is the norm, such as in the demoscene, software art, generative art, interactive art and live coding. Genre-dening and breakthrough piece of works from these cultures will be exemplied to throw light on programmer creativity, taking particular interest in inuence of leading practitioners as well as language constraints. erformative because like the phrase “I apologise”the code “print Hello world;does something when it is interpreted. 1

Upload: miguel-cardoso

Post on 14-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computer language and Human Creativity

7/30/2019 Computer language and Human Creativity

http://slidepdf.com/reader/full/computer-language-and-human-creativity 1/2

�omputer Language and Human �reativity

Alex McLean and Geraint Wiggins

Goldsmiths� University of London

November 30� 2009

�bstract

Here we consider performative� descriptions of discrete computation known as sour�e �ode �

from the viewpoint of human and computational creativity. If we assume that creative agents

are changed as part of their creative processes then this view becomes central; a self-modifyingagent is to some degree programming itself.

Anticipated length: 8�500 words

� Background

History� A brief section providing historical context to the discussion. Some pre-history aboutthe origins of programming in human computation and textile factories, and human engagementwith symbolic representation in music and literature. Overview of the influences of logic, mathe-matics and linguistics on computer language. An outline of the early development of programming‘hacker’ culture at the MIT computer lab which while both funded by the military and heavily maledominated, had a spirit of freedom and openess which inspired the contemporary free softwaremovement �Levy, 2002).

Conventions� A high level look at the conventions of programming, in particular those havingstrong impact on how a programmer reasons about and constructs a program. First, the paradigmsof programming language, from the imperative focus on method, the declarative focus on nature,to the reactive focus on behaviour �Elliott, 2009). Then, how execution time is represented, ormore commonly, not represented in the source code of a program. The broad notions of types,safety and security will also be touched upon, being language describing relationships and contractsbetween the program and the outside world, defining links between a software agent and a possiblycreative culture.

2 Creativity in programming culture

Reviewing the creative role of the human programmer within contemporary culture. The division

of labour in military, corporate and indeed art institutions has in general cast the programmer asa technician, implementing the designs of others. Accordingly, a stereotypical figure of engineer-programmer is widely held. However counter-cultures have emerged where programmer creativityis the norm, such as in the demoscene, software art, generative art, interactive art and live coding.Genre-defining and breakthrough piece of works from these cultures will be exemplified to throwlight on programmer creativity, taking particular interest in influence of leading practitioners aswell as language constraints.

��erformative because like the phrase “I apologise”� the code “print �Hello world�;” does something when it

is interpreted.

1

Page 2: Computer language and Human Creativity

7/30/2019 Computer language and Human Creativity

http://slidepdf.com/reader/full/computer-language-and-human-creativity 2/2

� Creative processes of programming

Perception� How a human perceives a program they are writing is key to understanding howcreativity may enter the process, particularly if we take the view that human concepts are groundedin perception. Programmers’ reports of how they imagine their programs are many and varied, forexample using metaphor of dancing, conversation, sonic or spatial exploration or mapping �Petreand Blackwell, 1999). From these anecdotes it would seem our perception of source code is notlimited to discrete categories and logical relations. Formal software engineering methodology willbe contrasted with surveyed artist/programmer’s reports of how they feel about and imagine theirwork.

The influence of syntax and semantics� How computer language constrains and fosters hu-man creativity and, acknowledging computational universality, identifying advances in program-ming language design that make new things possible.

Focus on secondary syntax, the role of spatial layout and natural language in source code,

highlighting the differences between ‘visual’ �e.g. patcher language such as Max/MSP) and ‘tex-tual’ computer language. Attempts to include geometric and natural language representations inthe semantics of computer language: the reacTable �Jorda et al., 2007), piet, befunge, inform7,‘postmodern’ Perl and vocable synthesis �McLean and Wiggins, 2009).

Processes and the activity of programming� The role of feedback and time in programming.When an artist expresses a work in sourcecode what is captured in the code, to what extent canit be a description of a creative process as opposed to an output of one?

4 Conclusion

We will conclude by considering how through the act of interpreting source code, computers mayone day be said to create. This will be done by framing the discussion in the Creative Systems

Framework �Wiggins, 2006; Boden, 1990). A parallel will be drawn between transformationalcreativity and self-modifying code, noting that transformation of a concept is a process of self change. The challenge put forward is to write sourcecode which invokes processes which canperceive and adjust not only artifacts but also itself. It is suggested that such creativity wouldonly be made possible if computational perceptual processes are analogous to human perception,and therefore grounded in a spatiotemporal representation of the outside world.

References

Boden, M. �1990). The Creative Mind . Abacus.

Elliott, C. �2009). Push-pull functional reactive programming. In Haskell Symposium .

Jorda, S., Geiger, G., Alonso, M., and Kaltenbrunner, M. �2007). The reactable: Exploring thesynergy between live music performance and tabletop tangible interfaces. In Proc. Intl. Conf.Tangible and Embedded Interaction �TEI07).

Levy, S. �2002). Hackers: Heroes of the Computer Revolution . Penguin Putnam.

McLean, A. and Wiggins, G. �2009). Words, movement and timbre. In Proceedings of NIME .

Petre, M. and Blackwell, A. F. �1999). Mental imagery in program design and visual programming.International Journal of Human-Computer Studies , 51:7–30.

Wiggins, G. A. �2006). A preliminary framework for description, analysis and comparison of creative systems. Journal of Knowledge Based Systems .

2