Today I'd like to talk about javascript, why it's great, and how it relates to guitarists vs. drummers...
I once tried learning to play my dad's guitar. I also tried to learn saxophone and then piano. I failed to get past Hot Cross Buns on three different instruments, so I resolved that I just wasn't musical and moved on.
Math and computers were the similar for me. I remember having this small VTech laptop that you could write BASIC on. I learned a few things, but to me it just seemed like a more complicated calculator. Going from the basics to full on programs seemed light years apart.
Guitar felt the same way, I'd have these visions of who I wanted to be, Jimi Hendrix, but whenever I picked up the instrument, the reality was too real. I couldn't play three chords in a row without messing up, how could I possibly play a whole song, start to finish, from memory?
In college, I worked with a guy who owned a humongous drum kit. A full on Neil Peart style rig complete with every drum and symbol you could imagine. He played a few things and after a bit handed the sticks to me and said "give it a shot, it's fun."
And he was right! I wailed on those things for an hour, sounded like absolute dog shit, and had the time of my life doing it. I left that party thinking, I have got to get one of these! Three weeks later my friend sold me an old drum kit for $100.
I played every day, at first in the same chaotic way that I had at that party. It was more catharsis than making music, but after a while I decided to learn some basics, and I didn't sound absolutely abhorrent.
The key to the drums is they almost trick you into thinking you are good even when you suck. That first time on the drums I sounded like a drunk crashing into a dumpster, but I felt like Jon Bonham playing Moby Dick.
Contrast this with the guitar or piano, where there is no way you will remotely feel like you are Jimi Hendrix or Elton John before you are ready.
And this is why I think javascript and really the web as a whole is awesome. You may stink in the beginning, but you are able to begin from a point where you feel like you are building something real. From there you fall deeper down the rabbit hole to mastery.
Contrast this with a language like Rust, where it will take hours just to learn a handful of things that run in the command line. The learning curve is steep, and the distance between the developer you are and the one you want to be feels insurmountable.
So I don't think anyone thinks javascript is the best programming language by any stretch. But when you combine it with HTML and CSS and the web, you can start by playing rock concerts and not trying to read sheet music and tuning the strings.
It lures you in, then one day you wake up and think, I want to learn about assembly, or CPUs, or operating systems, or one of those tough languages like rust?
But then you try typescript, and you feel like a static type rock star all over again, even though you're not, yet, but that delusion is back again, and it's wonderful.
My point is, some of us are guitarists and like to put in the struggle up front, and some of us are drummers and want to have fun right away. But when people ask why javascript? I can't help but think--because are a lot more drummers out there.