Ciência X Arte
De maneira geral, é um bom texto, mas quero destacar um detalhe: a computação é, na verdade, uma ciência aplicada. Apesar de a chamarmos de exata, por ser bem próxima, ela tem nuances. A computação pura, de fato, é mais exata, mas essa pureza desaparece quando lidamos com problemas reais, como ao programar. No trabalho prático, estamos lidando mais com engenharia do que com computação pura, o que a torna aplicada. Esse aspecto traz certa subjetividade, embora, idealmente, essa subjetividade deva ser bem controlada.
Isso a distancia da arte. Pode haver algum elemento artístico na programação? Pode, mas não é o ideal. Isso não significa que não deva haver criatividade na programação, mas, idealmente, ela deve estar alinhada a princípios científicos e objetivos claros. Isso não exclui o uso do termo "arte" como uma forma de expressão ou analogia, mas é importante manter a distinção conceitual entre ciência e arte.
O que muitos fazem na programação é arte? Sim, é, e talvez por isso há tantos problemas. A arte envolve muita subjetividade, personalismo, crenças e liberdade total. Na verdade, muito do que hoje é classificado como arte nem se encaixa nisso, pois frequentemente está preso a padrões artificiais, e não à expressão genuína do artista. Boa parte do que se chama arte é apenas entretenimento.
É claro que, na programação, a forma como fazemos as coisas também importa, assim como na arte, mas de maneira diferente. Na programação, analisamos o contexto e tomamos decisões para atingir melhor ou pior expressão dentro de parâmetros estudados, geralmente consolidados. Tudo deve estar a serviço de alcançar o melhor resultado possível em múltiplos aspectos, desde a entrega de algo útil até a manutenção futura. Esse ciclo não existe na arte.
Por isso, algumas pessoas comparam a programação à jardinagem. Ela também poderia ser comparada a outras atividades, mas dificilmente à arte. Informalmente, podemos dizer que a programação tem "um pouco de arte" no sentido de envolver um aspecto humano, mas nem tudo que é humano é arte. As ciências humanas, por exemplo, ainda são ciências.
Isso gera debates em outras áreas também, como na psicologia. Por exemplo, a TCC (terapia cognitivo-comportamental) é mais científica, enquanto a psicanálise, apesar de ter uma base científica, não é tão científica na aplicação. Ainda assim, isso não a torna arte.
Não estou dizendo que a jardinagem seja uma analogia perfeita, mas provavelmente é uma das melhores que vi. Sua adequação depende do tipo de trabalho computacional que se está discutindo.
Sou defensor da criatividade na programação e, por isso, sou contra metodologias que restringem isso. Algumas dessas metodologias são amplamente difundidas por pessoas respeitadas. Ambas as abordagens possuem vantagens e desvantagens, sendo mais ou menos interessantes dependendo do contexto. Muitas vezes, até dizemos que "é uma arte" saber escolher a abordagem certa, mas isso não é arte verdadeira. Pelo menos, não deveria ser feito com base em crenças ou subjetivismo, embora, em muitos casos, a experiência pessoal acabe guiando as decisões, aproximando-se de crenças.
Não vou entrar na discussão sobre se a IA pode ou não gerar arte. Há bons argumentos para ambos os lados.
A própria definição de arte é debatível. Se eu fizer um círculo perfeito, pendurá-lo na parede e chamá-lo de arte, isso é válido? Se arte é subjetiva, então pode ser, não? Não estamos falando de qualidade ou valor. Por outro lado, algo elaborado com palavras, tintas, notas musicais ou movimentos corporais, mesmo que envolva criatividade, pode não ser arte.
É possível que uma IA gere código por conta própria (desde que alguém solicite, mesmo sem dar parâmetros, já que ela não tem vontade própria). Se esse código será bom ou não é outra questão. Alguns argumentam que, como a IA foi programada e alimentada por humanos, tudo o que ela faz também se relaciona ao ser humano, mesmo que de formas diferentes.
Discordo fortemente da ideia de que ciência e arte são similares, mesmo considerando áreas não exatas. Destaco a frase que diz que "a ciência (exata ou não) tem espaço para subjetividade". Só porque ambas são formas de expressão, isso não as torna iguais. Os objetivos e as metodologias para se expressar são completamente distintos.
Concordo que você pode usar programação como ferramenta para criar arte, mas esse não é o objetivo primário dela. A arte permite essa liberdade, mas, nesse caso, estaríamos utilizando ciência de forma não científica. São coisas distintas.
Do mesmo modo, o fato de a ciência estar presente na criação de tintas, ferramentas e equipamentos usados por artistas não torna arte e ciência a mesma coisa. É possível, por exemplo, pintar uma parede de branco apenas para protegê-la do ambiente, sem qualquer intenção artística.
É claro que podemos debater se pintar uma parede de branco é ou não arte, como mencionei antes.
Convido a discordâncias e questionamentos, pois esse é o espírito da ciência. Ainda que minhas reflexões sejam apenas um ponto de partida, espero que inspirem discussões produtivas.
Sintaxe
Vi a tal arte no LinkedIn, mas o link estava quebrado. Dá para chamar aquilo de arte? Talvez, no sentido estrito da palavra, ou até no sentido figurado pejorativo que usamos popularmente.
Programação é claramente uma forma de expressão, mas não como arte. Por isso, dizer que "linguagem é só ferramenta" é equivocado. A linguagem é a forma de expressão escolhida para resolver, idealmente, um problema de forma melhor em vários aspectos: legibilidade, eficiência, produtividade (a curto e/ou longo prazo), entre outros.
Sendo uma forma de expressão, e considerando que todas as linguagens "pagam as contas" nas mãos de uma pessoa competente, escolher a mais adequada para si, para o time e para o problema em questão é muito valioso.
A sintaxe tem peso nessa escolha, mas a semântica é ainda mais relevante. Outros fatores também têm impacto, como ecossistema, mercado e questões mais políticas do que técnicas. E isso vindo de alguém que adora sintaxe.
Gostaria de debater mais sobre sintaxe e outros aspectos de linguagens de programação, mas meu interesse está no ponto de vista científico, mesmo na ciência humana. Sou péssimo em arte e prefiro as mais mainstream.
Finalizando
Um debate mais conclusivo deveria incluir especialistas de diversas áreas. Por ora, estamos apenas em uma conversa de bar.
Obrigado pela oportunidade de refletir. Acho que ainda vou me aprofundar no tema, mesmo que não publique nada (pelo menos por enquanto; talvez um dia em meu canal/blog).
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).