3 ms·
If you talk to any professional or decent amateur of the board game Go, he or she will tell you that mastering the basics is fundamental, and is used at every p
by arsenide 11y ago
If you talk to any professional or decent amateur of the board game Go, he or she will tell you that mastering the basics is fundamental, and is used at every possible moment in the game. In the same vein, this is how I often view programming: having strong knowledge of the fundamentals allows for immediate and precisely correct planning and action in the moves to come.
In one of my favorite Go books entitled Lessons in the Fundamentals of Go, the author Kageyama expresses the same sentiments: mastering the basics is fundamental for progression at every point in the player's career. He begins the book with what is very much an exercise taking some time and thought: there were no shortcuts to solve this problem for the beginner this book is aimed for. It is the same in programming: mastering anything (even the fundamentals) involves much time and effort.
As I become stronger at the game, I am finding new wisdom in the same advice Kageyama gives. I can read the same paragraph a few months apart and get different tangible results out of it. I have often had the same experience programming: I can use certain expressions and programming constructs without knowing the intricacies of them, but as I progress in my programming career, I am also able to understand these constructs, often at a lower level, to my great benefit.
I frequently go back to this book and always find new wisdom to improve my game. I strive to do the same with programming: just because I know how lambda functions in Python work does not mean I should be ignorant of the possibility that I may not know everything about them and tangentially related concepts.