Ryan: My pleasure Barb, can I call you Barb?
B: So why is it still relevant now? If it was designed so poorly, why is it still used?
R: Well that’s the strange, and somewhat unexplainable thing I guess. Even though it has its issues, it is still considered one of the core languages of the web in todays programming world. And even though when compared to newer languages today, it definitely has its flaws, but the newer languages have learned from the mistakes of the old. JS definitely has some things that it does well. Of course some people complain about being forced to use JS simply because it isn’t the same as their new, flashy language but regardless of the pros and cons of JS, it is still an integral building block of web development now.
R: One of the nice things about JS is that it is possible to get a lot accomplished without knowing much about the language. And obviously the more you know about it, the more you can do but JS does a lot to fill in the blanks for you while you are coding. Even though some people would say that this is a flaw, I consider it a plus. Another thing is that JS has many applications. It runs in other environments, it runs outside of browsers and it can be compiled in many other different languages so the interconnectivity is very vast. As time goes on JS is becoming more and more of a staple in programming also. Many programming courses are taught using JS; people are building entire web browsers on JS; you can even program hardware using JS today. Another blinding fact is that JS is one of the most in demand skills in the job market today so it’s clear that JS’ influence is only growing.
R: Well as I stated before, there are plenty of those. There are flaws in the language itself and there are also more flaws today because it is so widely used. In this day and age thanks to the internet, information is vastly accessible and people can put information out there without knowing if it is correct so that has affected the ratio of information to actual understanding. There are of course flaws in the language itself as well. The largest, most unified problem is probably the languages dependence on global variables. This means that variables can be changed at any time by any part of a program, so when you are dealing with very large programs this can get out of hand very quickly.
R: Another issue is the built in trait of semicolon insertion. As I said before, JS tries to fill in the blanks for you while you are coding but this is one of the traits that actually hurts a programmer. JS will sometimes insert semicolons were you had no intention of them being and then it is very difficult to figure out what is causing the problem because you didn’t create the error yourself. But despite these issues and other, JS has still become one of the core languages of the web so they must be forgivable offenses.