0
Is mastery of algorithms essential to creating great software?
I've often wondered if one would need to master algorithms (or at least have some above-average understanding of how, say, Google's PageRank works) in order to create truly robust applications. Are the libraries of the various programming languages enough to tackle any problem one's likely to encounter in creating an industry-grade piece of technology/software? Thanks
2 Answers
+ 5
Is not necessary but it helps....
As soon as you'll face problems with your code, you'll inevitably get deeper knowledge of the algorythms that suit it best.
Learning algorithms without a scope may be a boring experience.
I'm for the "learn by doing" approach.
+ 5
This is just my opinion, but you should have some idea how to efficiently solve problems. Chances are that you won't even recognise, that your given problem is just a version of say a max flow/min cut problem and the naĂŻve solution would take 10 minutes to terminate, while a standard approach would do the job in a few seconds.