A importância da matemática para a programação

A matemática pode ser assustadora para muitos programadores e estudantes de programação. Na verdade, a matemática é assustadora para diversas pessoas das mais distintas áreas. São várias as causas para este fato, como ter tido uma formação ruim e traumas pedagógicos. No entanto, várias tecnologias e invenções só existem graças a matemática, como o computador. Sabendo da importância da matemática, o fundador da empresa Congenial, Micael Mota, começou a propagar a importância de estudá-la em seu canal no YouTube. Este artigo visa desmistificar a matemática e mostrar como ela pode ser útil para qualquer profissional, principalmente os de tecnologia.

A importância da matemática

Ao invés de falar sobre a importância da matemática de maneira “genérica”, vamos separar em dois tópicos: a importância para a programação e para o programador.

Para a programação

Lógica booleana

Quando aprendemos lógica de programação, estudamos sobre operações relacionais, operações lógicas como conjunção, disjunção e negação, e também sobre tabela verdade. Esses conceitos são só um pedaço da lógica matemática aplicada na programação. Uma operação lógica como “5 > 2” nada mais é do que uma proposição (sentença) e quando fazemos uso de um operador lógico, criamos um tipo de sentença composta (que contém mais de uma proposição). Exemplo: “5 > 2 && 2 < 5”. Esses operadores são chamados conectivos e servem para conectar duas proposições. Se quiser saber mais sobre sentenças e conectivos, pesquise sobre lógica matemática ou lógica proposicional.

Análise de algoritmo

É possível usar o conhecimento de teoria dos conjuntos e funções em análise de algoritmo. A análise de algoritmo consiste em técnicas para representar o tempo de execução e memória usada pelo algoritmo por meio de funções matemáticas, isso porque o tempo de execução e a memória usada estão em função da entrada, se a entrada aumenta, o tempo aumenta (com exceção dos casos em que o tempo de execução e memória são representados por uma função constante).

Algoritmo do twitter

Um exemplo de aplicação da matemática na programação mostrado recentemente foi o do algoritmo do twitter. Você pode ver o Fábio Akita explicando sobre o uso de álgebra linear e similaridade por consseno para resolver problemas de recomendação do twitter no vídeo dele.

Para o programador

Você já deve ter notado que não há espaço para questionar a importância da matemática para a programação. No entanto, quando tratamos do programador, a coisa muda, pois como foi dito no artigo sobre qual faculdade fazer para ser programador, cada indivíduo tem objetivos e opiniões diferentes. Nesse caso, é totalmente compreensível você escolher não estudar matemática ou qualquer outro assunto por não sentir necessidade. Porém, o time da congenial recomenda que você aprenda muito bem matemática e aqui vamos justificar esse ponto de vista.

Lógica, imaginação e criatividade

Matemáticos são pessoas muito criativas e cheias de imaginação, isso porque estudar matemática (do jeito certo) faz com que sua mente se desenvolva. Durante o estudo, você será forçado a entender como tal resultado foi obtido e também precisará pensar para chegar na resposta (exatamente como na programação). Como consequência, é normal que sua imaginação melhore e que você aprenda a fazer deduções lógicas a partir de um conjunto finito de informações.

Entrevistas técnicas

Muitos problemas de algoritmo podem ser resolvidos via força bruta, mas nem sempre são as melhores soluções. Durante uma entrevista técnica, a sua capacidade de resolver problemas será testada e é importante que você apresente uma solução viável. No entanto, a matemática, novamente, pode ser sua aliada nessas situações. Vou ilustrar um exemplo simples: some todos os números de 1 até n, onde n é inteiro e positivo. Você pode solucioná-lo de, pelo menos, duas formas diferentes. A primeira é usando laço de repetição para somar a sequência.

for (unsigned int i = 1; i <= n; i++) {
    s += i;
}

cout << s; // s = 1 + 2 +...+ n

A segunda é usando uma fórmula para somar os n primeiros números inteiros e positivos (pesquise sobre progressão aritmética caso queira saber mais).

fórmula da soma dos n primeiros números naturais (progressão aritmética)
Fórmula da soma dos n primeiros números naturais

A diferença entre as duas soluções é que na primeira o algoritmo precisa executar n vezes para mostrar o resultado esperado, já na segunda ele executa em um tempo constante. Isso significa que quanto maior for o valor de n, maior vai ser a demora da primeira solução (se n for 1.000.000, então o for executa 1.000.000 vezes). Mas agora você pode estar se perguntando: “por que diabos eu iria querer fazer um programa que soma os n primeiros números inteiros positivos?”. A ideia central não é que você se prenda a esse algoritmo, e sim te mostrar que EXISTEM situações onde a matemática otimiza um algoritmo que usa força bruta.

Liberdade para estudar outros assuntos

Como nossa área é de exatas, é normal ter muitos conceitos ligados a matemática. Caso você se interesse por algum desses conceitos e queira se especializar mais, é necessário ter uma alfabetização na linguagem usada naquele assunto que deseja ter entendimento. Por exemplo, um livro bastante recomendado para programadores é o introduction to algorithms ou algoritmos: teoria e prática do Thomas Cormen. O grande “empecilho” desse livro é justamente a base matemática exigida. O propósito dele é abordar de forma técnica fundamentos aplicados na programação e ciência da computação como estruturas de dados, projetos e análise de algoritmos. Para poder ler esse conteúdo e outros, é necessário estudar mais do que só linguagens de programação e frameworks. Vale salientar que o livro citado foi só um exemplo, a mensagem não se limita a ele.

Educação

Por último, mas não menos importante, o motivo pelo qual você deve buscar outros conhecimentos é pelo simples fato de aprender coisas novas, abrir sua mente e buscar crescer intelectualmente. Infelizmente nós brasileiros somos acostumados a só estudar algo quando aquilo tem alguma aplicabilidade no seu dia a dia ou porque vai cair numa prova. Peço que faça uma reflexão: se é possível gastar horas do dia assistindo uma série ou jogando, mesmo sabendo que aquilo não vai ser cobrado no seu trabalho ou em uma prova, por que não fazer o mesmo com relação aos estudos? Reflita!

Conclusão

Reforçando: você tem total direito de escolher estudar algo ou não. O propósito do artigo foi te mostrar que a matemática tem sua importância na área e que nem sempre o conhecimento precisa ter aplicação direta para fazer diferença na sua vida.

Gostou do que viu? Compatilhe com um amigo!

Vinicius Silva

Desenvolvedor de Software e fascinado por tecnologia. Comecei na área em 2017 no curso técnico sem saber de nada, mas com muito esforço e dedicação, superei meus desafios e aprendi muita coisa. Atualmente meu foco é Front-End com HTML, CSS, JavaScript, TypeScript, ReactJS e Sass, mas já tive contato com tecnologias Back-End como Laravel, Express, Django, MySQL, PostgreSQL, SQLite, tecnologias voltadas para o desenvolvimento Android como Java, Kotlin e React Native e também linguagens mais baixo nível como C e C++. Além de estudar linguagens de programação e frameworks, também busco conhecimento em assuntos como Algoritmos, Estruturas de dados, Paradigmas de programação e até mesmo temas diferentes como Sistemas operacionais, Arquitetura de computadores, e Redes.

Comentários

3 comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Entre em Contato
Caso queira fazer uma parceria ou simplesmente tenha uma dúvida ou dificuldade para utilizar a plataforma.
Redes Sociais
Links Importantes
Política de Privacidade
Comece a estudar
Copyright © 2019 - 2023 - Escola Congenial | Todos os direitos reservados