Friday, December 14, 2012

Mathematics and Programming...

Is knowledge of mathematics necessary – or even useful – for a programmer?  That's a long-standing debate, with bazillions of threads on usenet groups and blogs.  Evan Miller has some interesting ramblings on the topic.

Speaking strictly for myself, there have been only a few occasions when I needed any mathematics more advanced than simple algebra to do the programming work that I've done.  However...some of the most interesting and fun things I've done did involve some more advanced math.  The ones that come right to mind include: network traffic analysis and management (probability, statistics, sampling theory), teletype FSK modems (Fourier transforms and information theory), bond valuation (Monte Carlo statistical modeling), classic optic design, software servos (control optimization), astronomical and geographic calculations (can you spell spherical trigonometry?), algorithmic trading (big data analysis, pattern matching), and cryptography (really big numbers, modulo math, and trap functions).  For all of these programming jobs, I really could not have done the job without having learned some new mathematics.  Because I had only a high school education, all of these areas of math were new to me when I first encountered the need.  And for whatever reason, in each case I thought the need to learn these was a lot of fun.  Still, the programming that I've done that required this math forms only a small fraction of the total body of programming work I've done. 

I don't know where that puts me in this debate :-)

No comments:

Post a Comment