11 ms·
The importance of math in programming is directly related to the domain you are working in. The strong logic background math gives you is important for anyone
by vital101 16y ago
The importance of math in programming is directly related to the domain you are working in. The strong logic background math gives you is important for anyone who programs, but advanced concepts just don't matter that much to most programmers.
- RiderOfGiraffes 16y ago<fx: sighs and starts rant and posibly excessive claims unsupported by objective evidence> It's not the math, it's not the advanced concepts. It's the ability to think in abstract terms, about abstract objects, rigorously sometimes, intuitively sometimes. It's not the direct benefits. Knowing topology or analysis is unlikely ever to help you. Being able to do topology and analysis probably will, in subtle, unexpected and most often unnoticed ways. Every single advanced athelete does progressive weight training. Why? Certainly not because they want to be able to lift weights. No, it's because of the side-effects. Similarly doing advanced math trains your mind in ways that are relevant to programming, and unobtainable elsewhere. I won't convince people who are already convinced that math is useless, and most people who haven't done any advanced math will see that they don't appear to use it, and thereby believe that it's useless. It's all blub. Obviously.
- nadam 16y agoI agree with you generally, but how much mathematical thinking will help you still depends extremely on the kind of job you are doing. In my experience the single thing in which mathematical thinking can help you best is going meta. When you reason about the program as the program were data. It is not a coincidence that smart people with mathematical talent wants to go meta: they love to write frameworks, new programing languages, compilers, (graphical, database) engines. But most of the programmers have to write good old application logic (so called business logic) using languages, frameworks, engines, technologies made by other people. I go further: most people have to use bad programming languages, programming languages which are not their choice. Most people have to maintain bad quality code created by other people. For these tasks mathematical thinking is really secondary. You have to have other skills: very good memory, finding your way in a complex mess, etc... If you are mathematically 'smart', you will find patterns, you will be bored, you will go meta, and they need to find another guy for the mundane task.