Is JavaScript a bad language? Please advise

Hi,

FCC seems to be an awesome platform for learning various technologies and get a job. But I am scared to jump in because so many people (especially on Quora) say that JavaScript is a bad language. I am very confused.

Please share your opinions. Really appreciate it.

1 Like

Does it really matter how ‘bad’ or ‘good’ of a language it is?, however one subjectively defines ‘bad’ or ‘good’, bottom line is that it is the lingua franca of the web, at least for now, I can complain how bad the English language is (and I certainly have my issues with it) but it behooves me to learn it in order to communicate with the vast majority of the world, at least for now. Just my 2 cents.

1 Like

All languages have their pros and cons. JavaScript is far from ‘bad’ though. It’s just more unpredictable than other more traditional languages I guess.

1 Like

Like all languages, JS has its strengths and weaknesses. But if you want to build web pages (front end web development), it is a must. If you want to write servers (backend web development) it is an option, but you would still be expected to know the basics of JS. If you want to do other kinds of programming, then there are other languages that may be better suited depending on what you want to do.

FCC is focused (right now at least) on web development so it teaches JS. FCC also teaches backend (servers) and uses the Node environment (also JS). As I said, there are other options for the backend (PHP, Ruby, Java, C#, Python, etc) but JS is a good option, and has strengths and weaknesses versus those languages.

If I had my way, and someone had a whole bunch of time to learn, I’d probably start them out in something other than JS, because it can get a little “messy”. But maybe I’m jaded because I learned other languages first. I’m probably being over pedantic and learning is learning and the things you learn in JS will apply to other languages. Many great coders started with JS. I guess the best language to learn is the one you actually learn and use. You can pick up the things in which JS is deficient in another language.

Personally, having worked in other languages first, JS was weird at first. It took a while to realize that some of those weird things were what made JS perfect for working on the web.

Just learn. There is no “perfect” language. Learn, code, build things. The rest is just fun to debate over beer. Before it’s over, you’ll probably learn a few (if not many) languages.

2 Likes

“bad” is too generic to describe Javascript.
Are there “bad” parts with JS? Yea totally, but does that make it a 100% bad, don’t use, never touch it, your better off not ever learning it language? Heck no

Javascript basically has a monopoly on web development languages, making it the best choice to get into web-development, and it goes beyond that with things like nodejs (run js code outside of the browser) and electron (create desktop apps with web tech)

Now all the “bad” parts of javascript come down to how users use the language. Unlike a language like Java, or C that get’s compiled, Javascript gets interpreted This means the code you write is more or less the code the user gets and the computer “runs”. Now the thing that does the “interpreting” and running of the code are generally users’s browsers. This can an advantage and dis-advantage. It means your web-site only needs to send over javascript, no compilers, or interpreted. The bad-side of this means the user’s browser is responsible of interpreting the code. Something as simple has having an out-dated browser can ruin some sites. Ontop of this all existing parts of the language basically can never be changed, as it would break websites.

Historically, the language was made more as an after thought for the web.
Because of this you get odd behaviors that “don’t age well” and create a more or less hacked together language over time. Newer JS code is vastly different than older and classic JS code, resulting in a very deep, complex language with lots of ways todo the same thing. This gives JS lots of flexibility, as it more or less has more features and approaches than most languages, but it also keeps it from becoming “simpler” and there is more or less no way to design it from the ground up, Compared to a more well designed traditional language.

But today Javascript is better than it ever was due to massive community input, and the fact the web multiplied its usage, support, and community exponentially. You don’t have the internet without Javascript

So, to say javascript is a bad language is wrong on many levels, but to say its the perfect language is also wrong. Javascript has loads of shortcomings due to it’s history, and main use-case, but it’s future is very bright.

PS I wanted to point out if you just want to learn programming and get a job learning programming concepts in general is more important than the language you learn it in. Obviously you should learn a language to help learn the concepts, and Javascript is right up there with Python in terms of flexibility and approach-ability. Javascript has more quirks than python, but far better support and resources and job opportunities. (again, due to it being the language of the web!)

1 Like