Em meu post anterior, um comentarista fez esta pergunta:
Muitas das melhores mentes que conheci na área de computação têm amor pela música. Será que isso tem a ver com a capacidade de ver beleza em sistemas numéricos complexos?
Eu adoro música. Tenho uma vasta coleção de músicas e adoro ouvir música e explorar novas bandas e gêneros que ainda não ouvi. Mas eu tenho zero habilidade musical. Portanto, não é realmente apropriado que eu faça comentários sobre isso. Já li a mesma observação expressa em muitos lugares diferentes. O suficiente para que o senhor Eu me pergunto se existe algum tipo de relação entre ser músico e ser programador.
Para obter opiniões fundamentadas, vamos nos voltar para programadores que são realmente músicos. Achei que Rob Birdwell, que deixou a uma única entrada no blog em 2003 em seu blog sobre programação, resumiu bem a situação:
- Sejamos práticos: os músicos se tornam programadores, geralmente não o contrário, simplesmente porque esses shows realmente pagam as contas.
- Criar música e software são empreendimentos simultaneamente colaborativos e individualistas.
- Os músicos, independentemente da época, geralmente são tecnicamente engajados. Os próprios instrumentos (o hardware) geralmente fazem interface com outros dispositivos (amplificadores, mixers, mutes) para obter sons diferentes. Os compositores geralmente lidam com uma série de tecnologias para que suas músicas sejam escritas, executadas e/ou produzidas.
- A música é um meio abstrato – a nota impressa requer interpretação e execução. Assim como a linha de código escrita, geralmente há muito mais do que o senhor vê.
- A música é uma forma de autoexpressão. Muitos programadores, muitas vezes para o desânimo dos gerentes corporativos, tentam se expressar por meio do código.
- Um famoso educador musical, Dick Grove, disse certa vez que os compositores/músicos geralmente gostam de resolver quebra-cabeças. (Dick Grove era muito experiente em computação – embora eu não tenha certeza de que ele escrevia códigos, não duvidaria de sua capacidade de fazê-lo).
Rob é claramente um cara com os pés nos dois mundos, embora a música esteja obviamente ganhando. Rob tem um blog de música ativo com muito mais de uma entrada. Há até mesmo algumas informações sobre programação misturadas aqui e ali.
Notei um comentário na entrada do blog de programação do Rob de Carl Franklin, que também é um músico incrível. Ele também pode provar isso: Aqui está Carl apresentando a música Jungle Love como uma banda de um homem só. Incrível! Carl também vê paralelos entre músicos e programadores:
Os instrumentistas em particular (guitarristas, por exemplo) são ótimos programadores. Não se trata apenas de a matemática e a música serem semelhantes, ou os fundamentos versus a arte. Os instrumentistas precisam se aproximar para trabalhar com detalhes técnicos muito repetitivos e, por isso, tornam-se muito concentrados – como um guitarrista que pratica uma peça musical em uma velocidade lenta. Mas os melhores programadores são capazes de diminuir o zoom e ver o panorama geral, e onde sua codificação se encaixa em todo o projeto, da mesma forma que um artista tem que se afastar de uma pintura e ver o todo, ou um instrumentista tem que produzir algo que comunique um trabalho completo, não apenas as escalas e os aspectos técnicos.
Carl é uma espécie de figura fixa na comunidade de programação .NET desde os primeiros dias. Atualmente, ele dirige um pequeno império de mídiaParticipei de forma periférica desse império quando gravei um podcast sobre .NET Rocks com ele e Richard Campbell há cerca de dois anos.
Embora eu certamente aprecie as opiniões em primeira mão de Carl e Rob, tanto como programadores quanto como músicos, Eu me preocupo que essa seja apenas mais uma analogia conveniente e auto-realizável que nós, programadores, usamos para nos engrandecer. Mais ou menos como Paul Graham comparando programadores a pintores. Ou quando Alistair Cockburn disse o desenvolvimento de software era um jogo colaborativo, e projetos de software são como escalada em rocha.
Nós somos os programadores; programação é o que dizemos que é.
Há uma sensação de estar “na zona” ao ouvir música que se assemelha muito à sensação de estar imerso em uma parte agradável da programação. Há ritmos e cadências de fluxo algorítmico. Mas hesito em traçar qualquer paralelo mais profundo.
Sou desenvolvedor de software em uma capacidade profissional (teoricamente) há 15 anos. E a cada ano de codificação que passa, eu me vejo concordando cada vez mais com uma letra específica da música de Frank Zappa A Little Green Rosetta.
Eles são músicos muito bons
Mas isso não faz diferença
Se eles são bons músicos
Porque qualquer pessoa que compre esse disco
não está nem aí se há bons músicos
Essa é a única coisa que programadores e músicos realmente têm em comum.