JavaScript is Joyful

When I introduce people to programming they sometimes feel overwhelmed by having to make things just right. They find that you have to be much more explicit with a computer than they are used to—in addition to the countless cryptic compiler messages. When you start throwing additional concepts at them, like type systems and memory management, it usually exacerbates their feeling of drowning. Then I tell them about JavaScript, there’s suddenly not as much to worry about. You don’t need to learn the command line, you don’t need to worry about memory management and type systems, it’s forgiving, it’s joyful. 

Yes, there is a compiler but it’s verbose and you can get away with a lot. Okay, you really want a type system? Checkout TypeScript it gets you most of the way there. Memory management? Just don’t go allocating million length arrays too often and you’ll be fine! JavaScript presents an incredibly low bar that I think a lot of people don’t acknowledge. And the direction one can take JavaScript is too multi-numerous for beginners to ignore.

There is simply a massive ecosystem for JavaScript, every computer runs JavaScript in its browser and through this universal portal one can deliver their idea however simple or complex it may be. Oh, you want a dedicated desktop application? Look no further than Electron where “if you can build a website, you can build a desktop app”. You want to target phones? There’s React-native and a slew of other *-native projects with the same aim. And you’ll need a server for these too so check out NodeJS

JavaScript gets a lot a flak for being not thought through and insufficient for Real Engineering®. Yes, it was written in 10 days, perhaps we shouldn’t have built so much around it. The tools and frameworks often evolve and change too quickly to reasonably keep up with. Despite being an ascribed JavaScript junkie I certainly acknowledge a lot of those criticisms and try to warn people about them. I’m quick to share two talks from the early 2010’s and laugh about them, “Wat – Destroy All Software” and “WTF JS”. 

When you get past these imperfections it feels as though the world opens up before you. The only expression that comes my mind when I give into this is that JavaScript is Joyful.

Leave a Reply

Your email address will not be published. Required fields are marked *