programacao-criativa

Introdução

O que é código? O que é algoritmo?

Um código pode ter três objetivos: comunicar (código Morse), instruir (DNA) e ofuscar (criptografia).

No contexto deste curso nos interessa o código, também conhecido como algoritmo ou programa, que define instruções passo a passo a serem executadas. Na programação, o código (também chamado de código-fonte) é usado para controlar as operações de um computador. É um algoritmo escrito em uma linguagem de programação. Um algoritmo possui algumas características como (Reas, McWilliams 2010):

  1. Há muitas maneiras de escrever um algoritmo.

  2. Um algoritmo requer pressupostos.

  3. Um algoritmo inclui decisões.

  4. Um algoritmo complexo deve ser dividido em peças modulares.

O que é o Processing? Instalação e configuração

Processing é uma plataforma livre/aberta de programação criada em 2001 por Casey Reas e Ben Fry, largamente utilizada por artistas e para o ensino de programação num contexto visual. O Processing IDE (da sigla em inglês para ambiente integrado de desenvolvimento) é tudo o que você precisa para começar a programar produzindo resultados visuais e pode ser baixado em processing.org.

A versão (também chamada de ‘modo’) padrão do Processing é baseada em Java, além dela hoje existem dois outros projetos apoiados pela Fundação Processing que podem ser usados no mesmo IDE. P5*JS(baseado em JavaScript), e Processing Python Mode.

Entre na parte de downloads do site do Processing (http://www.processing.org/download), escolha o seu sistema operacional e baixe.

passo1

Saiba que não há um instalador, basta descomprimir, mova a pasta como um todo para onde preferir (não tire o executável da pasta) e abra o IDE. Veja como fica no Windows:

passo2

No Mac OS é praticamente a mesma coisa, e no Linux, abra um terminal na pasta do Processing e digite ./processing

Exemplos de projetos criados com Processing

{Software} Structures, por Casey Reas e outros

Process Compendium, por Casey Reas

City Symphonies, por Mark McKeague

Necessary Disorder

Conceitos essenciais

Programação criativa

Para Margaret A. Boden “criatividade pode ser definida como a habilidade de gerar novas, e valiosas, ideias. Valioso aqui, tem muitos significados: interessante, útil, bonito, simples, ricamente complexo, etc. Ideias guardam vários significados também: não somente ideias como: conceitos, teorias, interpretações, histórias, mas também artefatos como: imagens, esculturas, casas, e motores a jato” (Boden 2004). Porém, o termo programação criativa, é aqui utilizado para designar especificamente o tipo de programação em que o objetivo primordial é criar algo expressivo em vez de algo funcional.

Programação exploratória

A programação exploratória para nós é uma estratégia de desenvolvimento de software, especialmente útil quando um problema não é muito bem compreendido ou não estão claros ainda quais algoritmos e estruturas de dados podem ser necessários, tornando possível desenvolver um programa sem ter que passar pelas restrições usuais de um ciclo de desenvolvimento mais estruturado (editar - compilar - executar - depurar). Segundo Nick Montfort ela é um “processo que permite ao programador descobrir, durante o processo da programação, a direção final do projeto”.

Programação poética

A School for Poetic Computation define que “computação é poética quando a tecnologia é usada para o pensamento crítico e para a investigação estética”. Analogamente, para nós, a programação poética acontece quando utilizamos a programação como meio de estimular o pensamento crítico e a investigação estética.

Artista-programador

“o artista-programador é aquele que ao explorar a software arte investiga os processos de criação com foco principalmente na poética artística da reconstrução dos algoritmos. Permite-se inserir no código-fonte a sua poética, ou sobre a execução do código e as imagens e processos artísticos automaticamente gerados, ou ainda sobre o uso das linguagens de programação e a estética visual gerada na construção das interfaces computacionais, mas em qualquer abordagem o código e a construção algorítmica é [sic] parte da poética e do processo criativo da obra” (Neto 2010).

Bibliografia

Boden, M. A. 2004. The Creative Mind: Myths and Mechanisms, 2nd ed. London: Routledge.

Montfort, Nick. 2016. Exploratory Programming for the Arts and Humanities. MIT Press.

Neto, Antonio Francisco Moreira. 2010. Software [livre] na arte computacional. 111f. Dissertação (Mestrado em Arte). Instituto de Artes, Universidade de Brasília. Disponível em http://repositorio.unb.br/handle/10482/8573. Acesso em 11 set. 2017.

Reas, Casey e McWilliams. 2010. FORM+CODE in design, art and architecture. New York: Princeton Architectural Press.