graciano codes

Para programar precisa ser bom em matemática?

Não. Obrigado por assistirem minha TED talk rsrsrsrs

Ao elaborar a ideia pode parecer que sim, mas depois vou tentar explicar porque julgo que não. Realmente é muito comum a ideia de que qualquer pessoa da profissão precisa entender de matemática. E isso vem de uma falta de compreensão tanto de programação quanto de matemática. E como acontece que eu fazia matemática na faculdade, acho que posso falar um pouquinho sobre os dois assuntos.

Há uma visão de que matemática é “fazer conta” e, como computadores são basicamente calculadoras complicadas, se você faz o que o computador faz, teoricamente você seria uma boa programadora. Isso é um reducionismo que tem 1 verdade simplificada e 2 mentiras. Nem programação, nem matemática são sobre fazer contas. Porém de fato um computador pode ser entendido como uma calculadora “mais complicada”.

Matemática é sobre sistematizar padrões abstratos encontrados no espaço. Se isso parece abstrato demais, é porque é mesmo. Se for concreto vira física, ou engenharia, ou outra coisa. Quando se faz uma conta, é para resolver um problema vindo desses padrões abstratos, que geralmente tem um significado no mundo real que vai além da matemática. A conta é a aplicação da ciência matemática. É um aspecto dela. A definição de computação em alguns dicionários é exatamente isso: “execução de cálculo matemático”.

Então um bom matemático é alguém que entende e reproduz padrões abstratos. Uma contadora é alguém que aplica tais padrões no mundo real. Um computador faz um serviço mais próximo da contadora. E quem programa não faz nenhum dos dois.

Programar é contar uma história pro computador executar em determinado momento. É escrever uma receita de bolo que o computador vai cozinhar depois. Então, ser bom em matemática até ajuda, porque pode te dar atalhos em diversas situações, mas a habilidade principal é a de tradução de uma ideia humana em algo que o computador vai entender. É ver um problema e pensar na solução, não necessariamente no padrão abstrato que pode ajudar a definir o problema.

Ser bom em matemática é mais importante para quem cria uma linguagem de programação do que para quem a usa no seu dia a dia.