3 ms·
The musician analogy is poorly chosen. Playing an instrument is a highly physical, hand-eye(-mouth)-coordination challenge. But mastering a platform - be it a
by ribs 12y ago
The musician analogy is poorly chosen. Playing an instrument is a highly physical, hand-eye(-mouth)-coordination challenge.
But mastering a platform - be it a language, a framework, a library - will help make you a much better developer, it is true. If you don't know enough to exploit the relevant features of the platforms you're using, you'll produce a poorer solution than otherwise. You'll use more code, or fail to encapsulate. Your solution will be harder to maintain and adapt.
But then again, if you're busting your ass writing parallel applications in C++, managing locking and threads, when you could be using actors in Akka, your solution will have the same shortcomings compared to the one you could have developed had you been aware of the qualities of that platform.
So yes and no :-)
- code_duck 12y agoLearning to play an instrument taught me how to learn complex skills in general. There are similarities in the processes of learning almost anything - be it martial arts, glassblowing, flamenco dancing or web programming. In the beginning, everything is new and it can be overwhelming. Humbleness and discipline or dedication is required in the beginning. Small successes lead to pride and enthusiasm, and gradually, over years, your skills grow. In playing guitar and glassblowing, i recall various times where I was satisfied and or pleased with my skills, and then looked back at those times years later and was amazed by how much more sophisticated my skills have become. With that experience, I never felt frustrated learning Python, JavaScript or SQL because the process reminded me of my previous learning experiences and I knew then all I needed to do was put in time and seek information. As an aside, I might note that there are mathematical aspects to creating, playing it and even appreciating music. Every system of music has rhythm and a set of tones that is based in someway on numbers – the 12 notes of the western octave, time signatures, 8th and 32nd notes and so forth. Learning the complex relationships of systems like jazz chords on the guitar or piano is very much a mental exercise as well as a physical one.