Hello folks, I have been learning Mathematics again from some time now, ever since I have introduced with Knuth's "Concrete Mathematics" by one of my friend, who I know is a much better programmer than me. I was like, no dude, programmers don't need to learn Mathematics again, whatever I have learned in the past, I have hardly used them. I should learn more about functional programming, Scala, JVM tuning and how to design Scalable, robust and concurrent systems rather than wasting time to learning Maths. But, he insists me to read the book and couple of others on discrete maths whenever you have some free time. So, the book was lying with several others for a couple of months until a fine day when I attracted with its cover. I quickly skim through the book, only to realize that I couldn't understand a bit and got bored in the first reading.
After a couple of skimming and reading session, I started to get the hang around the book and realized how good it is. This book contains most of the math we'd need as programmers and it's also very enjoyable math book, but only after a couple of small reading session.
Now, the big questions, should Programmer learn Maths? Of course, you can be a great programmer without knowing discrete maths, probability, lambda, calculus etc. But, you don't need to be a good coder to survive in IT industry. You will find your way around as project manager, UI designer, change management coordinator and several other jobs, without even needing to write a single line of code.
In short, nothing is essential if you can find your way around, but we don't learn to be at the minimum, we learn things to become better and learning Maths is part of that constant journey of becoming a better programmer.
I personally believe that whatever we learned at school, colleges, and university was not the right way to learn. Our sole goal, at least mine was to pass the examination with distinction not learning? I don't put all the blame on myself thought because I wasn't a programmer that time and hardly know how discrete Mathematics is used in real world and how computer programming relates to Maths. For us, it was a boring class, except few bright spot when we able to understand something and found something interesting.
But, now after programming for more than 10+ years, I have different thinking. I first go back and learn Physics when I programmed some arcade games and that time I know the video games we play are all based upon that law of physics. The collision detection, the projectile motion everything you code are based upon those theorems and principles.
Maths is also in the same boat and that's why I think Programmer should learn Maths, of course, if you have a desire to become a better software developer and learn things better.
Knowing even a little of the right kinds of math can enable you do write some pretty interesting programs that would otherwise be too hard. In other words, math is something you can pick up a little at a time, whenever you have free time
Math is a lot easier to pick up after you know how to program. In fact, if you're a halfway decent programmer, you'll find it's almost a snap and most importantly Maths is fun.
So, go learn Maths when you have some free time. To start with you can check out these must-read Maths books for programmers. I am sure, you will discover some great Maths book by your own. If you don't forget to tell us about them.
I can recommend "Math for Programmers" by Paul Olrand
ReplyDeleteThanks for sharing Simon, looks interesting, something to checkout this weekend
ReplyDelete