Re:The path of software development craftsmanship
by Cthulhu_ on Monday October 10, 2016 @03:34AM
(#12675636)
Performance does always matter, but for practical software development, everyone should realize that someone else did it better. The most optimal data structures and sorting algorithms have already been implemented numerous times in all programming languages; a good craftsman only needs to know when to use them and why. On the other side, the person implementing said most optimal sort should know why it's most optimal and be able to explain to others every property of their implementation.
[ Parent
| on HN ]
Re:The path of software development craftsmanship
by legedemon on Tuesday October 11, 2016 @01:05AM
(#12681995)
While agreeing to the fact that performance does always matter, I think the idea that "someone else did it better" is not always a good one. One should always understand the limitations of standard implementations and see if hand-crafting something of their own would benefit their application.
For example, consider the case of sorting. Even though asymptotically efficient algorithms have been known for about 70 years now, Timsort - the currently standard implementation found in Python, Java and probably other languages - was invented as recently as in 2002.
This is not all. What if you have multiple cores available to run your code? What if your dataset is large and locality of reference matters? What if your dataset has certain special properties which the standard implementation doesn't exploit?
I agree that maybe 99% of the time, we can get away using the standard implementation but that 1% is what differentiates great from the merely good.