DEV Community

Cover image for Why should I learn JavaScript
Niharika Singh ⛓
Niharika Singh ⛓

Posted on

Why should I learn JavaScript

There exists an extreme relationship between JavaScript and JavaScript developers.

LOVE-HATE RELATIONSHIP.

Sounds like a freakin’ dramatic roller coaster.

Why are you still in this relationship? What makes you stay?

Basically, why should I learn JavaScript?

(Wrong answers are also welcome haha)

Latest comments (21)

Collapse
 
david_ojeda profile image
David Ojeda

The chances that you will need JavaScript as a web developer are really high. So it's a good idea to at least know the basics.

I know just enough JavaScript to do my work and build personal projects. I can build a simple back-end, though I wouldn't use JavaScript for that. I'm happier with something like Grails or Rails.

In terms of front-end, knowing the DOM and Web APIs is enough most of the time. Sure, there are frameworks that force you to learn some new concepts, but in the end it's a framework; it guides you on how you should do things.

Learning JavaScript to build a standalone library or framework is a whole different story.

Collapse
 
joelbonetr profile image
JoelBonetR 🥇

It's the market who chose at the end. Javascript has some issues such as single threaded, sync concerns, non static typing and so but there's no perfect language, (JS is one of the worsts taking in mind this facts) but you can run your JS App on tones of places and the frameworks and supersets (those trendy TypeScript (superset) and Angular, React, Preact, Svelte.. (frameworks)) lets you create Apps quickly, and even having a tinny backend (which can be Node.js too) dealing with the front can be enough.

Anyway as I said, it depends on the market, if you want to build banking Apps it's probable that you'll end using Java or C# and native languages for mobile Apps (Android Kotlin and iOS Swift) rather than generic JS app (1 code - run everywhere concept, like react native) but that's the only place where you'll be using it probably, even it's totally correct and possible to use react, angular, svelte... with SSR to build the front-end of this webApps

Collapse
 
sandeepmenon profile image
Sandeep Menon

Every language has its good parts and the bad parts. The funny thing about JS is that you can survive the industry (long enough) with only knowing the good parts. That's, in my opinion, what separates JS from other languages.

Collapse
 
niharrs profile image
Niharika Singh ⛓

True!

Collapse
 
hussein_ouda profile image
Hussein Ouda

I love Python

Collapse
 
jwp profile image
John Peters

Some have claimed if "we are not doing Javascript now, we will be tomorrow!" Javascript without question is the #1 web language, every browser supports it which means we can write applications on any platform. To forego Javascript is a career mistake, unless we as programmers are only doing non-web based desktop and back-end development in other language. Even so, the desktop itself is changing with the advent of Electron. It won't be long until maybe, perhaps everything runs in Javascript.

Collapse
 
andrewbaisden profile image
Andrew Baisden

Because it is a pre requisite before you can learn a front end framework. And you are not allowed to join the flame war of React vs Vue vs Angular vs Svelte until you know javascript.

Collapse
 
niharrs profile image
Niharika Singh ⛓

True. The great language lock-in.

Collapse
 
abdurrkhalid333 profile image
Abdur Rehman Khalid

I literally do not like JavaScript and I am also not good at it, but due to immense demand and use in common projects, I have to work in JavaScript.

You have to learn JavaScript in order to learn famously modern frameworks such as React, Angular, and Vue as well. For Back-End (especially for Node.Js) it is also required to have some kind of knowledge of JavaScript.

Collapse
 
niharrs profile image
Niharika Singh ⛓

It can be quite difficult to work with a language you don't like. It can get frustrating right?

Collapse
 
abdurrkhalid333 profile image
Abdur Rehman Khalid

Actually when you have to deal with something and have to complete some work then it is okay, you can find motivation from somewhere to get started and get things done.

Collapse
 
stereoplegic profile image
Mike Bybee • Edited

So you can be told that JavaScript is wrong and that only TypeScript can save it (even if it does just transpile to JavaScript). 🙃

Collapse
 
niharrs profile image
Niharika Singh ⛓

Haha!

Collapse
 
annietaylorchen profile image
Annie Taylor Chen

I wouldn't look at what languages you should learn but what do you prefer to do. If it's frontend, then JS is a must-learn, and if you're coming from backend, you will love Typescript better than JS (it's JS with "types"). If you don't care about frontend you can just pick one of the backend ones, Node.js (if you already know JS), Go, Python, Java, C# etc... can all be options. Even fullstack has certain preferences, some fullstack prefer frontend more, and like to work out their custom design etc, some prefer backend more, they're more likely to use UI library or CSS framework to build their apps.

Collapse
 
niharrs profile image
Niharika Singh ⛓

At the end of day, everybody gotta use a bit of JS/TS here and there

Collapse
 
joelbonetr profile image
JoelBonetR 🥇

well, JS is a must, TS is optional; I mean, any JS code is a valid TS code, as TS is a JS superset 😆

Collapse
 
moseskarunia profile image
Moses Karunia

Because platforms come and go, but the web always survives.

But! The good news is, you don't "need" js to develop web, there're for example, typescript which gives you more code assurance in exchange of development velocity.

Or dart, which compiles to js, and I read somewhere, people find js-compiled-dart is quite fast. The drawback is the amount of library compared to pure js. (AngularDart or Flutter Web)

I myself prefer dart over pure js because:

  1. When architected correctly, you can share the non-presentation layer of your code across web (angular dart) and mobile apps (flutter). Flutter web is not stable yet.
  2. My experience with react native is far worse compared to flutter. So, if I pick js, I ended up with RN if I want to share any piece of code, which I prefer to be a corn farmer instead (just kidding)

Or, you can develop your apps with the app shell model which makes your front end development so much quicker (in exchange of customizability), and develop on all 3 platforms natively (kotlin, swift, js web). (Just an idea, haven't tried it myself.)

The bottom line is, it's not the language you should be consider to learn, it's what you are going to build with it. Every popular languages have their own purpose, therefore, worth learning.

Besides, if you already experienced with development in general, switching languages won't require too much time anyway. 1-2 months give or take.

Collapse
 
niharrs profile image
Niharika Singh ⛓

Interesting!

Collapse
 
shadowphoenix profile image
Rose

I suppose it depends on what you want to be developing in the end.

If you like front-end, then JavaScript is a fundamental language. However, if you're more into back-end stuff, then there are other alternatives like C# and Java. In the end, I believe you should choose the language that fits the product(s) you want to create.

Collapse
 
niharrs profile image
Niharika Singh ⛓

Thanks! Today almost everyone is a full stack dev. So maybe learning JS for frontend as well as backend would be optimal.

Collapse
 
shadowphoenix profile image
Rose

In The Netherlands, I see that frontend and backend are often divided still. Personally, I prefered learning C#/Java first, because it provides more structure when learning the OOP concepts. That being said, I haven't got much experience with JS, other than screaming at it why numbers can become strings. ^,^" XD