📆 December 21, 2022 | ⏱️ 2 minute read | 🏷️ computing

The Most Overused Programming Language

I am so tired of waiting ages for simple static webpages to load. They have a menu bar, side panel, header and footer, a few input fields, some buttons here and there, headings, text, and that’s it. None of which requires JavaScript. The site could look identical and be faster with plain old HTML and CSS, but thanks to all the redundant 3rd-party JavaScript, it loads as slow as a turtle.

“But Nick, bloated JavaScript frameworks make life easier for developers.” They bloat up your website, waste users’ CPU resources, bandwidth, and make the page load slower. Further, there are many good reasons users might have JavaScript disabled in their browsers. For them, your website won’t even load correctly unless you design for it, which basically nobody does. Thanks to JavaScript, most websites I go to nowadays remind me of this meme.

“My website needs JavaScript.” There are CAPTCHA systems which don’t use JavaScript. There are big software development platforms that use zero JavaScript. Sometimes you do need JavaScript, but you can accomplish a hell of a lot without it. Most websites using it don’t really have a need for it. Sure using it might make development easier, but requesting for users to run JavaScript is a big ask.

“What about website analytics? How am I supposed to know how users use the page?” You shouldn’t be spying on your users’ browsers to begin with. Just because the stupid Web enables nasty things like that doesn’t mean you should use them. Perhaps use anonymized server-side analytics instead.

“My job requires me to use bloated JavaScript frameworks. Using an alternative would take more time, costing the company money. I’d eventually be fired if I refused and I need my job, so not using JS is unrealistic.” You probably have some leverage. Companies don’t like firing people because finding a new employee takes time and money. Maybe try explaining to your employer the benefits of not using JavaScript. Sadly, there is no silver bullet for this that I’m aware of.