3 ms·
Oh, yeah, this story is as old as the world.) Straight-forward, brute-force approach sometimes works for easy tasks, it seems, while to came up with some optim
by dschiptsov 13y ago
Oh, yeah, this story is as old as the world.)
Straight-forward, brute-force approach sometimes works for easy tasks, it seems, while to came up with some optimization or innovative idea one must master hows and whys, which takes long time. But in the long run, of course, those who invests in understanding and knowing of how things works and why, would ultimately win.
The classic story is that people with understanding and knowledge of hows and whys, so-called "mappers", could even design and implement a whole new language based on proper concepts, while so-called "packers" are continuing struggling and sweating with their packing. Never heard of Scala?)
Another nice point is about [re-]structuring the code. Keeping functions small (and interfaces standard and simple) pays in any language, but to know that one needs to learn the fundamental ideas in CS, not "recipes" from some crappy book that end with "in Java".
Putting it another way, studying classic CS (algorithms, data structures, programming paradigms and language design) takes long time, but eventually you will outperform "hard working guys" because you will waste much less time on ignorant guesswork searching in darkness and repeating all the naive old errors.
Only one with knowledge could afford to be lazy, since knowledge is power. It is not actually laziness, it is efficiency in movements.) Choosing appropriate paradigm, right data-structure (and corresponding algorithm) could save man-months, if not man-years.