Programming has a very unfair reputation for being an unimaginative, mechanical discipline - but if you're a programmer you know that's not true, and also that a programmer's work can bear the imprint of the programmer's creative personality as strongly as that of any other writer.
What's more, programmers enjoy playing with and exploring language in much the same way that poets do - turning it upon itself, referring it to itself, and taking pleasure in what's revealed.
There are some notable writers, artists and musicians whose work programmers always seem to find fascinating when they encounter it. The way programmers think makes them especially ready to understand and appreciate the intersection of rules, processes and play that characterises this work.
I'll discuss writers including Ulises Carrión and the Oulipo group, and show how what they do overlaps with what programmers do. I'll also demonstrate some Python programs I've developed that explore texts and language in the same playful way that the writers do, and invite the audience to develop this further.
An especially important construct I'm interested in is the loop, which is found in very similar ways at the heart of much programmer's play and in the work of the writers and artists I'm discussing.
In programming the loop - a tightly-repeated, often self-referential structure - is a concrete example of a concept that finds employment in the work of thinkers like Douglas Hofstadter. For Hofstadter, loops - in language, logic, processes, music, computation, art and elsewhere - are key to understanding the nature of thought and meaning.
I'll show how we can explore some of these ideas, again with the help of simple Python programs and poetry (including Ulises Carrión's almost maddening First Spanish Lesson).
Finally, I want to consider writing programs and poetry as a discipline. The discipline of the aspiring programmer in fact is not so far from that of the creative writer. Even more striking is how the hardest-to-learn lessons of successful writing are the ones that programmers learn right from the start - and why the aspiring creative writer can learn a lot from how programmers work.