Acontece que eu debati com um amigo durante os dias de faculdade se matemática avançada é necessária para qualquer programador veterano. Ele costumava argumentar ferozmente contra isso. Ele disse que os programadores precisam apenas de conhecimentos básicos de matemática do ensino médio ou do primeiro ano da faculdade, nem mais nem menos, e que quase todas as tarefas de programação podem ser realizadas sem a necessidade de matemática avançada. Ele argumentou, no entanto, que algoritmos são fundamentais e um recurso indispensável para programadores.
Minha posição era que todos os avanços da ciência da computação dependiam quase exclusivamente dos avanços da matemática e, portanto, um conhecimento completo da matemática ajudaria muito os programadores quando estão trabalhando com problemas desafiadores do mundo real.
Ainda não consigo definir qual lado dos argumentos está correto. Você poderia nos contar sua postura, por experiência própria?
Respostas:
Para responder à sua pergunta como ela foi feita, eu teria que dizer: "Não, a matemática não é necessária para a programação". No entanto, como outras pessoas sugeriram neste tópico, acredito que haja uma correlação entre entender matemática e ser capaz de "pensar algoritmicamente". Ou seja, ser capaz de pensar abstratamente sobre quantidade, processos, relações e prova.
Comecei a programar quando tinha cerca de 9 anos e seria um exagero dizer que aprendi muita matemática nessa fase. No entanto, com um pouco de esforço, fui capaz de entender variáveis, for loops, declarações goto (perdoe-me, eu era Vic 20 BASIC e não tinha lido nenhum Dijkstra ainda) e geometria coordenada básica para colocar gráficos na tela .
Acabei concluindo um diploma com distinção em Matemática Pura com especialização em Ciência da Computação. Embora eu tenha me concentrado principalmente na análise, também estudei um pouco de matemática discreta, teoria dos números, lógica e teoria da computabilidade. Além de ser capaz de aplicar algumas idéias de estatística, teoria da probabilidade, análise vetorial e álgebra linear à programação, havia pouca matemática que estudei que fosse diretamente aplicável à minha programação durante a graduação e à programação comercial e de pesquisa que fiz depois.
No entanto, acredito firmemente que os métodos formais de pensamento que a matemática exige - raciocínio cuidadoso, busca de contra-exemplos, construção de fundamentos axiomáticos, localização de conexões entre conceitos - têm sido de grande ajuda quando lidei com projetos de programação grandes e complexos.
Considere a maneira como os atletas treinam para seu esporte. Por exemplo, os jogadores de futebol sem dúvida gastam muito de seu tempo de treinamento em habilidades básicas do futebol. No entanto, para melhorar seu condicionamento físico geral, eles também podem passar tempo na academia em bicicletas ou máquinas de remo, fazendo pesos, etc.
O estudo da matemática pode ser comparado ao treinamento com pesos ou ao treinamento cruzado para melhorar sua força mental e resistência para a programação. É absolutamente essencial que você pratique suas habilidades básicas de programação, mas estudar matemática é um exercício mental incrível que melhora sua capacidade analítica central.
fonte
Embora a matemática avançada não seja necessária para a programação (a menos que você esteja programando a capacidade matemática avançada), o processo de pensamento da programação e da matemática são muito semelhantes. Você começa com uma base de coisas conhecidas (axiomas, teorias previamente comprovadas) e tenta chegar a algum lugar novo. Você não pode pular etapas. Se você pular etapas, será necessário preencher os espaços em branco. É um processo de pensamento crítico que torna os dois incrivelmente semelhantes.
Além disso, matemáticos e programadores pensam criticamente de forma abstrata. Coisas do mundo real são representadas por objetos e variáveis. A capacidade de traduzir do concreto ao abstrato também vincula os dois campos.
Há uma grande chance de que, se você for bom em um, provavelmente será bom em outro.
fonte
ciência da computação! = programação
OK, sério, eu conheço bons e maus programadores que se formaram em inglês e psicologia e alguns que se formaram em ciência da computação. Alguns caras muito famosos que eu admiro como desenvolvedores não tinham formação em CS. Larry Wall (Perl), por exemplo, era um linguista. Por outro lado, ajuda saber algo sobre o domínio no qual você está trabalhando, porque assim você poderá pelo menos ver se seus dados fazem sentido e ajudar seus clientes / usuários a detalharem o que realmente desejam. E sim, há a questão da complexidade computacional e estruturas de dados eficientes e correção do programa. Isso é coisa que você aprende na Ciência da Computação e é útil saber em quase todos os domínios, mas não é necessário nem suficiente.
fonte
Eu acho que eu vou ser a primeira pessoa a dizer que você fazer necessidade de matemática. Como outros disseram, a matemática não é tão importante para certos aspectos do desenvolvimento, mas os fundamentos do pensamento crítico e da análise estruturada são muito importantes.
Mais ainda, a matemática é importante para entender muitos dos fundamentos que entram em coisas como agendadores, otimizações, classificação, gerenciamento de protocolo e uma série de outros aspectos dos computadores. Embora a matemática envolvida a partir de um nível de cálculo não seja complexa (é principalmente álgebra do ensino médio), as teorias e aplicações podem ser bastante complexas, pois um conhecimento sólido da matemática por meio do cálculo será de grande benefício.
Você consegue sobreviver sem isso, com certeza, e você não deveria deixar um conhecimento menos profundo de matemática te atrapalhar, mas se você tivesse a chance, ou a inclinação, eu estudaria o máximo de matemática que você pudesse, cálculo, teoria numérica, linear álgebra, combinatória, aplicações práticas, tudo isso tem aplicações práticas e teóricas em uma ampla gama de ciência da computação.
Conheci pessoas que tiveram muito sucesso em ambos os lados da cerca (aqueles sem um grande foco em matemática e aqueles que foram para a escola de física ou matemática), mas em ambos os grupos eles gostavam de problemas numéricos e de aprender sobre algoritmos e teoria matemática .
fonte
Tenho graduação em matemática, mas não me lembro de ter exigido essa matemática uma única vez na minha carreira. Foi útil em termos de treinar minha mente para o pensamento lógico, mas não escrevi nenhum código usando dinâmica de fluidos, teoria quântica ou cadeias de Markov. (O último é o mais provável de surgir, eu suspeito.)
A maioria dos desenvolvedores de linha de negócios não precisará de matemática avançada na maior parte do tempo. Às vezes, saber trigonometria pode ajudar, e certamente ser capaz de entender matemática suficiente para implementar algoritmos descritos matematicamente pode ser importante - mas além disso? Nah.
Não se esqueça de que a maioria dos programadores não está avançando na ciência da computação - eles estão criando aplicativos. Não preciso conhecer engenharia avançada para dirigir um carro moderno, embora esse carro quase certamente tenha sido aprimorado por meio de engenharia avançada.
fonte
Eu diria que ter matemática lógica (discreta) avançada pode realmente ajudar. Isso junto com a teoria dos conjuntos. Ao lidar com programas de computador comuns, essas disciplinas podem ajudar muito. No entanto, muito da outra matemática que fiz na universidade era cálculo, que, até onde posso ver, tinha uso muito limitado. Como 90% (ou algo parecido) da programação está fazendo aplicativos de negócios com matemática muito simples, eu diria que na maior parte, você pode sobreviver com muito pouco conhecimento de matemática. No entanto, um bom entendimento de álgebra booleana, lógica, matemática discreta e teoria dos conjuntos pode realmente colocá-lo no próximo nível.
fonte
Vou ir contra a corrente aqui e dizer "Sim"
Eu mudo da Engenharia Civil para a programação (Concrete Sucks!). Minha formação matemática consiste nas coisas habituais do primeiro ano, cálculo do segundo e terceiro anos (Diff EQ, integrações de volume, séries, transformações de Fourier e Laplace) e um curso de Análise Numérica.
Acho que minha matemática é incrivelmente deficiente para a programação de computadores. Há áreas inteiras de matemática e lógica discretas que estou perdendo, e só sobrevivi devido a uma extensa biblioteca de livros didáticos, Wikipedia e Wolfram. A maioria dos algoritmos avançados é baseada em matemática avançada, e não sou capaz de desenvolver algoritmos avançados sem fazer uma pesquisa extensa (essencialmente o equivalente a meio curso de trabalho). Certamente sou incapaz de criar NOVOS algoritmos, já que acabo de fazer não ter os fundamentos matemáticos como ombros de gigantes sobre os quais se apoiar.
fonte
Depende do que você está fazendo. Se você faz muita programação 3D, certamente é necessário conhecimento de geometria 3D, não concorda? ;-) Se você deseja criar um novo formato de imagem como JPG ou um novo formato de áudio como MP3, você também estará muito perdido se não puder entender uma transformação de cosseno ou de Fourier, pois esses são os princípios básicos em que a compactação com mais perdas se baseia . Muitos outros problemas podem ser resolvidos melhor se você souber bem de matemática.
Existem também muitas outras tarefas de programação que você descobrirá que não precisam de muita matemática.
fonte
Se você acha o assunto fascinante o suficiente para postar, vá em frente e comece a aprender. O resto virá naturalmente.
fonte
Sim, não há necessidade de matemática avançada - se você estiver programando comercialmente - software de prateleira.
No entanto, ao lidar com coisas pesadas, como:
Algum conhecimento avançado de matemática pode ser útil. E não é como se fossem problemas "de outro mundo".
Tive que criar um software para tentar "prever" a quantidade de papel necessária para um escritório (e foi um inferno descobrir a melhor forma de aproximar valores).
Você tem que ter cuidado, porém, porque é fácil se perder ao usar coisas avançadas - há um amigo meu que recorreu ao uso de Turing para armazenar o estado de um menu dinâmico apenas para exibi-lo corretamente - humm ... talvez ele foi longe demais em sua imaginação.
fonte
Que tipo de programação?
Em minha experiência comercial, não precisei de matemática avançada, mas isso depende muito do campo em que você está.
A computação gráfica requer uma grande quantidade de matemática avançada. Grande parte da programação acadêmica de computadores requer matemática avançada.
Portanto, dizer que tende a haver uma correlação entre pessoas que são boas em matemática e pessoas que são boas em programação.
Espero que esta resposta insatisfatória ajude.
fonte
A matemática é necessária para desenvolvedores em alguns campos, mas é quase inútil em outros.
Se você é um desenvolvedor de jogos e precisa trabalhar muito com a física, a compreensão da matemática é crucial. Se você estiver trabalhando com controles visuais avançados, não poderá fazer muito sem geometria. Se você está planejando fazer alguns cálculos financeiros - seria REALMENTE útil ter um conhecimento sólido de estatísticas.
Por outro lado, nos últimos 5 anos, tive apenas 2 ou 3 projetos onde QUALQUER quantidade de matemática era necessária. Destes, houve apenas uma ocorrência em que uma pesquisa no Google não ajudou.
No final do dia, até os cálculos financeiros são frequentemente algo que seus clientes fazem por você e fornecem fórmulas para implementar.
Portanto, se você está no negócio de 'software aplicado', provavelmente nunca usará seu diploma de matemática. Se você trabalha com software acadêmico, a matemática é crucial.
fonte
Eu concordo com Chris. Eu diria "Sim" também. Mas isso depende do seu mercado, conforme declarado acima. Se você está simplesmente criando alguns aplicativos básicos "disponíveis no mercado" ou ferramentas de escrita para ajudar no seu trabalho diário ... então a matemática não é tão importante.
A engenharia de soluções de software personalizadas requer muita solução de problemas e pensamento crítico. Habilidades que são definitivamente aprimoradas quando há formação em matemática. Eu me especializei em Matemática com meu diploma de Engenharia da Computação e dou crédito a toda a minha formação em matemática para explicar por que estou onde estou hoje.
Esses são meus 2 centavos, posso dizer pela leitura acima que muitos não concordariam. Encorajo todos a considerarem que não estou dizendo que você não pode ter essas habilidades sem um histórico de matemática, estou simplesmente afirmando que as habilidades são efeitos colaterais de ter esse histórico e podem impactar o software positivamente.
fonte
Na minha experiência, a matemática é necessária na programação, você não pode fugir dela. Toda a programação é baseada na matemática.
A questão não é preto e branco, mas mais colorida. A questão não é se você precisa ou não de matemática, mas de quanto. Os níveis mais elevados de matemática lhe darão mais ferramentas e abrirão sua mente para diferentes caminhos de pensamento.
Por exemplo, você pode programar se conhecer apenas adição e subtração. Quando a multiplicação é necessária, você terá que realizar muitas adições. A multiplicação simplifica adições repetitivas. A álgebra permite simplificar a matemática antes de implementá-la em programas. A Álgebra Linear fornece ferramentas para transformar imagens. A Álgebra Booleana fornece mecanismos para reduzir todas essas
if
declarações.E não se esqueça do irmão da matemática, da lógica e da filosofia. A lógica o ajudará a fazer um uso eficiente de declarações
case
ouswitch
. A filosofia ajudará você a entender o pensamento do cara que escreveu o código que você está modificando.Sim, você não precisa de muita matemática para escrever programas. Alguns programas podem exigir mais matemática do que outros. Mais conhecimento de matemática lhe dará uma vantagem sobre aqueles que têm menos compreensão. Nestes tempos, as pessoas precisam de todas as vantagens possíveis para obter esses empregos.
fonte
Eu programo há 8 anos profissionalmente, e desde os 12 como hobby.
A matemática não é necessária, a lógica é. Mas a matemática ajuda muito, dizer que não é necessário é como dizer que, para matar um homem, não é preciso usar uma arma, você pode usar uma faca. Bem, é verdade, mas aquela arma torna tudo muito mais fácil.
Existem alguns requisitos mínimos, que você já deve atender. Você precisa conhecer as expressões e notações algébricas básicas e os equivalentes comuns do computador. Por exemplo, você precisa saber o que é um exponencial (3 à 3 é 27) e a expressão de computador comum é 3 ^ 3. As notações comuns para álgebra mudam entre as linguagens, mas muitas delas usam uma metodologia um tanto unificada. Outros (olhando para você LISP) não. Você também precisa saber a ordem das operações.
Você precisa entender o pensamento algorítmico. Primeiro isso, depois isso, produz o que é usado neste cálculo. Provavelmente, você entende isso ou não, e é um obstáculo bastante difícil de pular se você não entende; Descobri que isso é algo que você "entende", e não realmente algo que você pode aprender. Por outro lado, algumas pessoas não "entendem" a arte. Eles não deveriam se tornar pintores. Além disso, há alunos no currículo de ciência da computação que não conseguem descobrir por que isso não funciona: x = z + w; z = 3; y = 5; Não é que eles não entendam adição, é que eles não estão compreendendo a exigência do expresso inequívoco. Se eles entendem, o computador também deve entender, certo? Se você não consegue ver o que há de errado com as três linhas acima, não se torne um programador.
Por último, você precisa saber a matemática que está sob seu domínio de programação. O software de contabilidade pode parar na álgebra básica. Se você estiver programando física, precisará saber física (vagamente) e matemática em geometria tridimensional (euclidiana). Se você estiver programando software de arquitetura, precisará saber trigonometria.
Isso vai além da matemática; seja qual for o domínio para o qual você está programando, você precisa entender profundamente o básico. Se você for um software de análise de linguagem de programação, precisará saber probabilidade, estatística, teoria gramatical (várias linguagens), etc.
Muitas vezes, certos domínios precisam ou podem se beneficiar de um conhecimento que você acha que não está relacionado. Por exemplo, se você estava programando um software de áudio, você realmente precisa saber trigonometria para lidar com formas de onda.
A magnitude também muda as coisas. Se você está classificando um conjunto de dados financeiros de 1000 itens, não é grande coisa. Se fossem 10 milhões de registros, no entanto, você se beneficiaria muito em saber matemática vetorial na verdade e ter um conhecimento profundo de classificação no nível binário (como um sistema classifica em ordem alfabética? Como ele sabe que 'a' é menor que 'b '?)
Você descobrirá que, como programador, sua base de conhecimento geral vai explodir, porque cada projeto exigirá mais aprendizado fora da esfera direta da programação. Se você é melindroso ou preguiçoso em relação à autoaprendizagem e não gosta da ideia de gastar mais de 10 horas por semana essencialmente fazendo 'lição de casa', não se torne um programador.
Se gosta de exercícios de reflexão, se gosta de aprender, se consegue pensar em coisas abstratas como matemática sem calculadora ou design sem bloco de desenho, se tem gostos amplos na vida e hobbies, se é autocrítico e pode jogar fora ' ideias favoritas, se você gosta de aperfeiçoar as coisas, torne-se um programador. Não baseie esta decisão na matemática, mas sim na capacidade de pensar logicamente e aprender. Isso é o que é importante; matemática é apenas o subproduto.
fonte
Claro que depende do tipo de programador que você deseja ser, ou melhor, que tipo de programador seus empregadores desejam que você seja. Eu acho que cálculo e álgebra são essenciais, estatística e programação linear é realmente uma boa ferramenta para ter em sua pasta, talvez a análise (derivada, integrais, funções ...) pudesse ser feita sem. Mas se você quiser saber como as coisas funcionam superficialmente (eletrônica, por exemplo, ou alguns algoritmos não triviais), matemática "avançada" é algo que é melhor não ficar sem nada.
fonte
A maior parte da programação que fiz envolveu simulações de física para pesquisa, incluindo coisas como eletromagnetismo, mecânica quântica e mecânica estrutural. Uma vez que os domínios do problema têm matemática avançada associada a eles, eu teria dificuldade em resolvê-los sem usar matemática avançada.
Portanto, a resposta à sua pergunta é - depende do que você está tentando fazer.
fonte
Conhecimento matemático avançado é vital se você pretende escrever uma nova linguagem de programação. Ou você precisa escrever seus próprios algoritmos.
No entanto, para a maior parte da programação do dia-a-dia - de sites a aplicativos de processamento de seguros - apenas a matemática básica é necessária .
fonte
Alguém com uma sólida formação matemática (que não é meramente aritmética) ou lógica lidará bem com algoritmos, uso de variáveis, raciocínio condicional e estruturas de dados.
A matemática o ajudará até certo ponto, mas apenas até certo ponto.
fonte
Não acho que o conhecimento avançado de matemática seja um requisito para um bom programador, mas com base na experiência pessoal, acho que os programadores que têm um melhor domínio de matemática avançada também são melhores programadores. Isso pode ser simplesmente devido a uma mente mais lógica, ou uma perspectiva mais lógica devido às suas experiências de resolução de problemas matemáticos.
fonte
O conceito fundamental da matemática é o seguinte, concepção, compreensão, implementação e uso de algoritmos. Se você não pode fazer matemática, é porque você não pode fazer essas coisas, e se você não pode fazer essas coisas, então você não pode ser um programador eficaz.
Tarefas comuns de programação podem não precisar de nenhum conhecimento matemático específico (por exemplo, você provavelmente não precisará de álgebra vetorial e cálculo, a menos que esteja fazendo tarefas como gráficos 3D ou simulações de física, por exemplo), mas os conjuntos de habilidades subjacentes são idênticos e falta de habilidade em um domínio será correspondido por uma falta de habilidade correspondente no outro domínio.
fonte
Math é uma caixa de ferramentas para criar programas. Eu recomendo a Introdução aos Algoritmos de Cormen. Ele toca nas coisas mais "matemáticas".
fonte
Não acho que matemática avançada seja um requisito para ser um bom programador - como sempre, depende do que você está codificando.
Claro, se você estiver na programação de gráficos 3D, precisará de matrizes e outras coisas. Como autor de software empresarial, você provavelmente precisará de matemática estatística.
Mas sendo um programador profissional por quase 10 anos (e mais 10 anos amador), "matemática avançada" não é algo que eu precise regularmente. Em cerca de 99,8% de todos os casos é apenas mais, menos, divisão e multiplicação em algumas combinações inteligentes - na maioria dos casos, trata-se de algoritmos, não de matemática.
fonte
Aprender matemática avançada, para a maioria dos programadores, é importante simplesmente porque dobra o cérebro para pensar logicamente, passo a passo, para ir de uma coisa a outra.
Muito poucos trabalhos de programação, entretanto, exigem algo além da matemática do ensino médio. Eu usei álgebra linear uma vez. Nunca usei cálculo. Eu uso álgebra todos os dias.
fonte
O conhecimento matemático é frequentemente útil para um programador, assim como a habilidade de design gráfico, habilidade de resolver quebra-cabeças, ética de trabalho e uma série de outras habilidades e características. Poucos programadores são bons em tudo o que um programador pode fazer. Eu não concordaria com qualquer declaração da forma "você não é um programador de verdade, a menos que possa { inserir habilidade de programação favorita aqui }".
Mas eu desconfiaria de um programador que não sabe fazer matemática. Mais do que de quem não sabia desenhar.
fonte
Acho que realmente depende do que você está tentando fazer, mas, IMHO, a teoria do CS e do SO são mais importantes do que matemática aqui, e você realmente precisa apenas da matemática que eles envolvem.
Por exemplo, há muito histórico de CS em teoria e otimização de agendamento que está por trás de muitos agendadores em sistemas operacionais modernos. Esse é um exemplo de algo que exigiria alguma matemática, embora não seja algo supercomplicado.
Mas, honestamente, para a maioria das coisas, você não precisa de matemática. O que você precisa é aprender a capacidade de pensar nas bases 2 e 16, como a capacidade de OR / AND mentalmente. Por exemplo, se você tem um byte e dentro desse byte há dois campos de 3 bits e 2 bits perdidos, saber quais bits estão em quais campos estão ativos quando o valor do byte é algo como 11 tornará as coisas um pouco mais rápidas do que ter que usar caneta e papel.
fonte
Comecei a programar na mesma época em que entrei na aula de pré-álgebra. Portanto, não diria que matemática é tão importante, embora possa ajudar em certos tipos de programação, especialmente funcional.
Ainda não fiz Matemática Discreta, mas vejo muitas coisas teóricas com programação escrita em notação matemática ensinada nesta aula.
Além disso, certifique-se de saber como calcular qualquer coisa em qualquer base, especialmente as bases 2, 8 e 16.
Além disso, uma aula que realmente trouxe alguns conceitos para mim foi esta aula de pré-programação. Nós aprendemos sobre sindicatos, cruzamentos e todas aquelas coisas felizes e quase exatamente um paralelo com a matemática bit a bit. E cobrimos bastante a lógica booleana. O que considerei mais útil foi quando aprendemos como reduzir declarações booleanas complexas. Isso foi muito útil:
pode ser simplificado para
O que eu anteriormente não entendia direito.
fonte
Bem, você gerou uma série de respostas, e não, não li todas elas. Eu estou no meio disso, não, você certamente não precisa de matemática para ser um programador. Os drivers Assembler vs Device no Linux não são nem mais nem menos complicados do que os outros e nem requerem matemática.
De forma alguma você precisa fazer ou passar em uma aula de matemática para nada disso.
Concordo que a mentalidade de resolução de problemas para a programação é bastante semelhante à das soluções matemáticas e, como resultado, a matemática provavelmente vem facilmente. ou o contrário, se a matemática for difícil, a programação pode ser difícil. Uma aula ou um diploma ou qualquer pedaço de papel ou troféu não são necessários, sair e aprender coisas, com certeza.
Agora, se você não pode converter de hexadecimal para binário para decimal rapidamente, seja em sua cabeça, no papel ou usando uma calculadora, você terá dificuldades. Se você quiser entrar em rede e outras coisas que envolvem tempo, o que os drivers do kernel costumam fazer, mas não precisam. Você vai lutar. Eu conheço uma lista muito longa de pessoas com graduação em matemática e / ou ciência da computação e / ou graduação em engenharia que lutam com os cálculos de taxa, bits por segundo, bytes por segundo, quanta memória você precisa para fazer algo, etc. em certa medida, pode ser considerado algum tipo de habilidade que alguns têm e outros precisam trabalhar.
Meu ponto principal é que acredito na força de vontade. Se você quiser aprender essas coisas, pode e vai, é tão simples quanto isso. Você não precisa fazer aulas ou gastar muito dinheiro, linux e qemu, por exemplo, podem mantê-lo ocupado por algum tempo, diferentes idiomas de asm, etc. ambientes crashable para desenvolvimento de kernel, embutidos, etc. Você não está limitado a isso , mas não acredito que você tenha que sair correndo e fazer alguma aula se não quiser. Se você quiser ter certeza de fazer algumas aulas de ee, algumas aulas de cs e algumas aulas de matemática.
fonte
Você precisa de matemática. A programação nada mais é do que matemática. Quaisquer descobertas da física teórica não se tornam uma implicação prática (aplicável), a menos que sejam explicadas em termos de soluções matemáticas. Nenhum deles pode ser resolvido computacionalmente se não puderem ser interpretados em computadores e, mais especificamente, em linguagens de programação. Diferentes linguagens são projetadas para resolver problemas específicos. Mas para o propósito geral e linguagens de programação amplamente difundidas como java, c, c ++ muitas das nossas tarefas de programação envolvem soluções repetitivas (contínuas) para os mesmos problemas, como extrair valores de banco de dados, arquivos de texto, colocá-los em janelas (desktop, web), manipular mesmos valores, às vezes acessando alguns dados de dispositivos semelhantes (mas com nomes de marcas diferentes, portas diferentes e uma dor de cabeça), etc., que não envolve mais do que um método unitário,
fonte
IMO, você provavelmente precisa de aptidão para matemática, sem necessariamente ter muito conhecimento na área. Portanto, as coisas de que você precisa para ser bom em matemática são semelhantes às coisas de que você precisa para ser bom em programação.
Mas, em geral, não consigo me lembrar da última vez que usei qualquer tipo de matemática avançada na programação do dia-a-dia, então não.
fonte