Programação: A Arte Matemática

Antes de começar a falar do assunto de hoje eu gostaria de pedir desculpas pela inatividade por aqui. Meu amigo Rafael está trabalhando muito e anda sem tempo para escrever. Enquanto eu, apesar de estar de férias estou preparando algo muito interessante pra mostrar para todos vocês. Lembram-se do BoxBall? Estou terminando ele. Então assim que estiver pronto e achar propicia a divulgação por aqui eu o farei.

BoxBall 0.1:
Os gráficos aqui não são a única forma de arte



A programação geralmente é mais vista como uma ferramenta quê uma expressão de criatividade. Aqui vou falar um pouco de por que a programação é uma forma de arte comparável com a música, literatura e desenho, e explicar por que ela não é tratada assim.

A programação, como as artes clássicas, exige uma série de conhecimentos prévios para ser bem praticada. Na musica conhece-se escalas, os acordes, os arpejos e tantas coisas mais. Na literatura estuda-se métrica dos textos, eventos na vida das pessoas que podem ser distorcidos para gerar uma experiência literária reconhecível para o leitor, gramática, ortografia e muito mais. No desenho estudam-se estilos de traço e composição de cores por exemplo. Na programação é necessário conhecer os algoritmos, e formas de desenvolvê-los como a recursão, estuda-se os vários paradigmas de linguagens para ver qual oferece a melhor abstração para se programar um problema.

Então agora farei mais uma comparação: as linguagens na programação estão na programação como os instrumentos musicais estão na musica, e como a estrutura de um texto está na literatura e como o lugar onde se desenha ou pinta está para o desenho. Todos eles são ferramentas para expressar aquilo que se deseja, cada um com seus prós e contras, melhores para cada situação, e cada pessoa domina mais um método diferente, o método preferido dela.
Na musica existem as partituras, que podem ser comparadas facilmente aos algoritmos. Ambas estão escritas de forma legível para que qualquer artista execute no instrumento que desejar. Da mesma forma que os rabiscos de rascunho antes de fazer um desenho definitivo em algum lugar.

Mais um ponto entre todas elas é que existe uma base matemática nas três. Na literatura isso é a métrica de um poema, na música vão desde a freqüência das notas até os tempos da musica, e na programação todas as operações partem de uma lógica binária baseada completamente na matemática.

E finalmente, para se construir um algoritmo é necessário tanta inspiração quanto uma musica ou um poema. A prática facilita muito nessa hora em qualquer um dos casos. Sem um pouco de inspiração dificilmente um programador fará um bom trabalho, e vários programadores tem uma série de rituais pra seguir antes de começar uma sessão de programação.

Mas porque a programação não é tratada como as outras artes então? Primeiro: os computadores desempenham um papel muito importante no mundo moderno, e para funcionarem precisam ser programados. Os interesses econômicos tornam proibitivo tratar a programação como algo extremamente dependente de inspiração. Se fosse assim nenhuma empresa de desenvolvimento de software iria pra frente. Outro motivo é que a programação surgiu da matemática pura, com uma ferramenta para os matemáticos resolverem problemas extensos e repetitivos enquanto as outras artes existem a milhares de anos e suas relações matemáticas só foram descobertas há pouco tempo comparado com o tempo de existência destas.
 
Nuclear Core Studios © 2010 | Designed by Trucks, in collaboration with MW3, Broadway Tickets, and Distubed Tour. Customizado por Bruna Lanzillotta.