I was 7 years old when I came across a phone number of a local music school and asked my mum when is she going to sign me in. Eighteen years later I am fully educated classical musician, working as an opera prompter in local opera house.
As long as I can remember I had two wishes: to become a musician and to learn everything that can be learned.
First wish – done. I’m nailing this “life” thing.
Second wish? Well. I realised that’s not going to happen any time soon. And as if that wasn’t frustrating enough, over the years I have found more and more things I wish I never learned. Curiosity, huh? But that’s another story.
I’m also learning a lot of useful things. Being a loud and uncomfortably direct extrovert in a web development world can be a lonely place at times. So I’m developing my talking-to-introverts skills.
I can tell you right now: learning PHP is so much easier. If for nothing else, error handlers report less casualties. And logging all exceptions requires a lot of memory. You start wondering how much of memory you should allocate for an average social event? What is the limit? Will I ever learn? So many questions.
But there are questions sent my way too. Looks like wonderment is mutual. “How difficult was it for you to switch from music to PHP?”
To be honest, I believe that music made learning to code far more intuitive for me than it would have been expected. Musicians among you are nodding right now. And there are many musicians who write code.
No, it’s not weird.
Both, music and web apps, are time based and event focused products of human attempt to communicate with the rest of the world.
In music performance we put a lot of thought into the right amount of expressing oneself, effortless technique and delivering the exact message without explaining how this particular piece of music is created and why.
In building a web page, we put a lot of thought into the right amount of necessary code and functionality, not overloading the server and delivering exactly what is expected on the page without explaining how it works and why.
Once the performance starts, once the web page starts loading, it is of crucial importance that every piece of it occurs in its specific time. Otherwise it can cause errors. Fatal even.
Too general comparison?
- Production – Live performance (concert).
- Staging – General rehearsal (as for real).
- Local dev environment – Practicing (piece by piece, repeating difficult parts, making connections between sections).
- Bugs – Obviously bad practice, errors in performance, off key/tune.
- Company team (design, frontend, backend) – Chamber music.
- Open source – Orchestra.
- Code review – Sight-reading.
- Localisation and internationalization of strings – Lyrics and librettos can and have been localised as well.
Yeah, but specifics..
- Frameworks – Music forms with more than one movement (opera, sonata, symphony, concerto etc).
- Design patterns – Standalone music forms which can be combined into more complex forms (etude, fugue, nocturne, ballade etc).
- Namespaces – Key signature.
- Command Line Interface – Solfeggio and theory.
- Loops – Repetitions.
- Conditions – Da capo and Dal segno.
- Magic Methods – Scale.
Visibility of a property:
I’m sure there’s more but my understanding of PHP is limited here. For someone who wanted to learn everything that can be learned I’m unexpectedly happy that I’ll never fully know PHP. Or understand the point of combinatoriality in music.