The Good, The Bad, and The Ugly of Javascript
Oh boi its javascript at it again

The Good, The Bad, and The Ugly of Javascript

Yo, javascript really isn’t all that bad

I am a somewhat active subscriber of r/ProgrammerHumor and I’ve seen some of the memes and jokes that we backend developers share behind frontend developer’s backs about their favorite language. And to be fair the jokes were definitely inspired by reality. Vanilla Javascript does tend to be extremely (possibly needlessly verbose), projects tend to have 15, 670 libraries or more, 15, 667 of which end up not being important to the actual project and 2 out of the critical 3 aren’t functional, and javascript’s error handling is actually awful.

what it really means to be a full stack developer

Well, I just took on a massive VueJS project as well as built a game in Javascript to get a feel for how Javascript functions as a language and to delve deeper into the language. Here are the Good, the Bad and the Ugly (from my experience).

The Good

I’ll be honest with you, I really enjoyed coding in javascript (you’ll think I’m a masochist when you read the bad/ugly). For some reason, it made frustration enjoyable and I’m not entirely sure why.

I am currently working on a VueJS project that’s top-secret (don’t tell anyone or I’ll give you a runtime error) and to be fairly honest, VueJS makes javascript programming a lot simpler and more laid-back than VanillaJS. It abstracts away from all the tedious bits of DOM-manipulation and condenses the tasks of multiple other libraries, presenting it in a way that is readable, robust and clean. (There is a cost for this that I’ll talk about in the bad/ugly section).

ain't this the truth - Lets Move from React to VueJS

The nicest thing about Vue is that a complete beginner in javascript (or even a programmer who has never programmed in JS before) can pick up this language almost right away! There are handy implementations of conditional and iterative rendering (v-if and v-for respectively) which will feel familiar to anyone with programming experience.

I could talk about other things I like about Vue in more detail but I think I’ll save it for another article once I finish my current VueJS project.

The Bad (or Annoying)

Notice how I didn’t mention VanillaJS.

Yeah, I’m not going to mention here either because I have an ugly section.

Remember how I said that VueJS abstracts away a lot from Vanilla JS and how there is a cost of abstraction? Well, VueJS suffers from the things that I have seen talked about across all programming communities: it’ll still compiler and then flood you with errors at the very last second. It does this constantly, and tracing the errors to their source is immensely difficult because the code in browser is completely different than the code you’re writing into Visual Studio Code.


This is an issue across all javascript frameworks whether it’s React, Vue, Meteor, Ember or Angular. I’m guessing this is because javascript uses a JIT (Just in Time) compiler, but I haven’t really looked too far into the issue.

The Ugly

I love Vue quite a bit, its a lot more fun to use than React and Angular and I really enjoy coding with it so I have nothing to say about it’s

Yep, I’ll say it here and now: I really really despise VanillaJS for web app programming. Its hard, frustrating, convoluted and really really tedious and I thank the Lords and Lady’s of the Frontend Roundtable for bestowing their wisdom upon us in the form of Javascript frameworks.

Ok, that may have been a bit hyperbolic, but I do get annoyed with javascript programming.

My first issue is that it is pretty hard to just get past the fundamentals. Once you learn them, there are so many paths to go and its easy to skip steps and create gaps in your journey that will come back to bite you hard.

Another issue is that the syntax can vary widely depending on who/what you’re reading. For example, when I was first learning javascript, I look at a friend’s github repository from a coding challenge that he participated in. I could barely suss out what he was doing in each line even though the thing he accomplished was something I could have done myself (also he doesn’t understand what a comment is). Apparently, it was written in ES6/typescript. Go figure.

The last issue that I have (that I would like ot put here — there are more but I just need to learn how to word them) is that its just awkward to code in. String manipulation is annoying, the syntax can include a lot of $, ``, |, ? and the list goes on. It feels cumbersome to code in and sometimes I catch myself hunting for keys I forgot existed.

Conclusion

Javascript is fun but frustrating. In other words, I think we’ll get along famously.

To view or add a comment, sign in

Others also viewed

Explore content categories