3 ms·
Unfortunately, this sentiment can rarely be expressed before someone has come full-circle. An apprentice cannot have that insight. A journeyman is too busy DRYi
by mekoka 3y ago
Unfortunately, this sentiment can rarely be expressed before someone has come full-circle. An apprentice cannot have that insight. A journeyman is too busy DRYing things up and peppering their code with patterns. It's only once you've felt the pains inflicted upon you by all those "one true ways", when you've survive the betrayals, only then you can finally accept that there are, in fact, no solutions, only trade-offs. Congratulations, you've become a veteran.
Despite all the good souls trying to turn programming into a discipline with sharp rules and well defined constraints, it remains a craft. Part prickly, part gooey. As far as I can tell, if it has tenets they sum up to four, in that order: code has to be correct, bug-free, reasonably efficient (i.e. enough for the problem at hand), and maintainable. The last two bits lie in overlapping shades of grey. You either learn to be comfortable with it or you will yourself to make black and white observations, which you turn into rules and patterns (or anti-patterns, as the case may be). Then you write an article or a book about them.
And on the wheel goes...