No meu último artigo, falei sobre alfabetização estendida e como entender código faz você enxergar o mundo de outra maneira. Lá, exploramos como a capacidade de ler e escrever código pode fazer com que você veja a tecnologia por uma perspectiva diferente. Assim como quando você aprende a ler e escrever, um novo mundo se abre para você. Código é uma linguagem e, como acontece com todas as linguagens, existem pessoas tentando levá-la ao limite. Esse limite pode ser técnico/lógico ou poético.
Dando continuidade às minhas leituras do livro Aesthetic Programming, de Soon e Cox, me deparei com a obra de arte em software Vocable Code, criada por Winnie Soon, uma das autoras do livro. Nessa obra, tanto o resultado do código quanto o próprio código são a arte final, onde o código funciona como uma espécie de contraponto ao que obtemos ao executá-lo. Abaixo, você pode ver o código completo, e iremos analisá-lo parte por parte, explorando o significado por trás de cada nome (o código também está disponível no Gitlab):

O código acima é um código JavaScript feito para rodar usando p5js, uma biblioteca cujo foco é ajudar artistas e desenvolvedores que querem criar arte digital. No código, podemos ver algumas funções que a biblioteca disponibiliza globalmente e que são usadas para desenhar e carregar dados no navegador. As funções que fazem isso são preload, setup e draw. Não falaremos sobre elas aqui, mas você pode ler mais nos links acima.
A partir do que Soon criou, temos algumas variáveis globais definidas no início do código: withPride (comOrgulho), whatisQueer (oqueéQueer), queerRights (direitosQueer), makingStatements (fazendoDeclarações), speak (falar ou fale), voices (vozes) e queers. A partir dessas variáveis, já sabemos que ela quer falar sobre orgulho queer, direitos queer e vozes queer. Outros elementos disponíveis globalmente são as funções makeVisible (fazendoSerVisível), SpeakingCode (códigoQueFala), speakingNow (falandoAgora) e notNew (nãoNovo). Disto, algo que chama atenção é que, embora seja uma função, SpeakingCode está escrita em PascalCase, em vez de camelCase. Outra observação é que a função notNew atua como uma espécie de construtor que possui alguns atributos associados a ela.
Porém, mesmo que essa desconstrução ajude a compreender melhor o código, o que temos aqui também é um poema, e faremos uma leitura mais aprofundada analisando linha por linha (poemas podem ser lidos de diferentes formas, então não há problema em dividi-los, separá-los e interpretá-los do seu próprio jeito). Agora, indo por partes:

Na parte makeVisible (limpei dos comentários para facilitar a leitura como poesia), vemos que tornar algo visível significa atribuir as pessoas queers e fazer declarações até que os direitos destas pessoas sejam visíveis e seja aceito que existem pelo menos tantos gêneros quanto há novos queers. Nessa parte, também podemos notar que a autora evitou usar números inteiros quase sempre que um número aparece, optando por usar float em vez disso. A única exceção é no trecho if (gender == abs(2)).
abs é uma função do p5.js que retorna o valor absoluto de um número. Nesse caso, a função não é necessária, já que 2 já é seu próprio valor absoluto, mas, como os autores de Aesthetic Programming dizem no livro, "Lido em voz alta, esse bloco de código pode ser traduzido como: 'Se gênero é igual a dois absoluto, fale código, queers, quem é queer, eu sou, fazendo declarações.'" (tradução livre de "Read aloud, the block of code might translate as: 'If gender equals absolute two, speaking code, queers, who is queer, I am, making statements.'"). Portanto, o que temos é que a função abs adiciona uma nova camada de significado a essa parte do código, sugerindo que, enquanto o gênero for considerado dois em absoluto (ou seja, se aceitarmos apenas dois gêneros como as únicas possibilidades), os queers precisarão falar e fazer declarações.

A próxima parte que quero destacar é a função draw. É aqui que a parte visual começa. A função draw é chamada 60 vezes por segundo pelo p5.js, fazendo com que a obra de arte funcione a 60 fps. Ela contém um for loop que percorre todos os elementos de queerRights e uma instrução if que chama a função makeVisible (que analisamos anteriormente) caso queerRights tenha menos de dois membros.
Antes de analisar isso linha por linha, quero chamar atenção para o uso de notFalse (nãoFalso) e para o número 2.0. Ambos são usados para evitar valores binários, como true, false, 0, 1 e 2. Como a autora está falando sobre queer e direitos queer, aqui ela faz mais uma declaração sobre a existência de uma realidade além do binário, evocando lógicas não binária ou lógicas de múltiplos valores, como a lógica paraconsistente. No entanto, o principal significado aqui é que existem mais de duas possibilidades e que precisamos torná-las visíveis.
Através do if, também percebemos que nunca teremos mais de três queerRights. Mais uma vez, a autora poderia ter escolhido dois mas decidiu usar um número que vai contra o binário.
Analisando o for loop, encontramos as expressões:
“Direitos queer não binários no mundo todo” - tradução livre de "queer rights non binary world wide");
“Direitos queer atos não binários” - tradução livre de "queer rights non binary acts";
“Vamos demonstrar suporte por direitos queer iguais não binários - tradução livre de "let support equals queer rights non binary shows".
Pelo próprio texto, entendemos que os direitos queer precisam ser considerados em uma perspectiva global e, para que isso aconteça, é necessário agir e demonstrar apoio.
Outra observação importante é que worldWide, act e shows são todas funções dentro dessa espécie de classe notNew. Se voltarmos à função makeVisible, veremos que ela instancia novos queers usando a função notNew. A ideia aqui é enfatizar que, embora a identidade queer possa parecer algo novo para pessoas de fora do movimento, essas pessoas não são novas — elas estão apenas, finalmente, se manifestando e lutando para serem vistas.
Há muito mais que pode ser dito sobre esse código. No entanto, meu objetivo aqui foi apenas mostrar como o código pode ser mais do que simples regras que um computador deve seguir. Eu diria, inclusive, que o código sempre é mais do que apenas uma sequência de passos ou um algoritmo. É por isso que programadores gostam de falar sobre legibilidade do código, código limpo e linguagens de programação que são mais fáceis de ler ou mais verbosas. Um poema em código apenas torna mais visível o fato de que existe mais de uma camada nas linguagens que usamos para criar o cenário digital.