I know math is necessary for application development in simulation software and else.

But I'm learning Python and trying to go deep in PHP, and like to develop applications and extends web servers' capability.

I'm before a big dilemma that whether to learn math professionally or not. I have tried my best to avoid being general on my question.

I have asked this question here because I want to learn it from roots and deal with its scientific aspects.

  • $\begingroup$ Math is the basis of computer science. Is it a must (i.e you absolutely won't be able to do things without it) for programming? That's too broad to answer, it depends on what you're programming, on the optimizations you make, on the algorithms you use, etc. $\endgroup$ – Shaull Mar 9 '14 at 13:38
  • $\begingroup$ This is really subjective -- I'd say you can happily program in most contexts without knowing math too deeply. You can always learn things when you encounter the need. $\endgroup$ – Juho Mar 9 '14 at 13:45

Your question seems to be based on the misunderstanding that software development = computer science. They are not the same thing. Your questions starts out asking about software development, but then ends by asking about the roots and scientific aspects thereof, which brings you to computer science, so it is not entirely clear what you want.

If you want to focus on software development, then math is not required (though it will often come in handy).

If you want to focus on computer science, then it is absolutely essential.

  • $\begingroup$ then you mean that computer science deals with the structure of computer? While software development is developing a component(software) of computer? $\endgroup$ – M T - Developer Mar 9 '14 at 13:59
  • 4
    $\begingroup$ @MT-Developer CS is about developing algorithms, complexity theory, models of computation, that kind of thing. Software development uses the results of CS to build stuff. Loosely speaking, CS is to software development as math is to engineering, except that you probably need less CS to do software development than you need math to do engineering. $\endgroup$ – G. Bach Mar 9 '14 at 14:14
  • 1
    $\begingroup$ I don't want to maintain the code of a person with a very weak math background. For sure, classical continuous mathematics is full of things that are not very relevant in computational practice. But you need a good discrete math background for sure: as solutions will not scale without a decent knowledge of: sorting, complexity theory, graph theory, discrete calculus, etc. BigData is a lot of statistics, and companies are demanding really high admin to system ratios of 2500:1, using systems with many terabytes in the databases. $\endgroup$ – Rob May 11 '15 at 14:31

Not the answer you're looking for? Browse other questions tagged or ask your own question.