Jessica vs JavaScript

06 Sep 2019

While learning JavaScript, I started reflecting on my personal experience with learning different programming languages, as well as thinking about what makes people choose to praise one programming language over the other.

Learning the Language:

I think how you were exposed to a language can influence your preference of programming language. In my software engineering class, we are practicing though timed exercises called WODs. This athletic approach is definitely a lot more enjoyable than trying to learn from an ancient textbook. It also makes sense - you can read all the theory in the world about karate, but unless you go through the drills day after day, you will never become a black belt. Same with programming. WODs are also a good way to monitor your improvement; you need to have a solid enough grasp of certain concepts to complete the assignment, and you can use your time as a quantitative measurement of progress. I can see this contributing to a sense of confidence in my ability as a programmer – which I don’t get from reading alone. I can also see this practice coming in handy during job interviews; if I need to complete a timed assignment, I will feel more confident knowing that I have had plenty of practice.

Comparing Languages:

Having learned C/C++, I can say with confidence that JavaScript is a lot easier to learn and use. In C++, I do like how you can direct the assignment of input/output using the <> symbols. Some programming languages such as C/C++ give you more control over what you do, but it’s risky if you don’t know what you are doing. Simply because you can compile something doesn’t mean that it is free of errors; if I remember correctly, its very easy to assign nulls in the wrong places and to mix up where your pointers point. Unlike C/C++, you don’t have to know much about how computer memory works to code in JS. There are certain quirks in JavaScript that I like: I like how you can compare not only the value of a variable but the type (using ===), as well as simplify functions using the Conditional (Ternary) Operator.

Tools:

This doesn’t really relate to the programming languages themselves, but I think it is still worth mentioning. One of the things that certainly helped shape my experience programing are the tools I used. A professor once told me that “your tools shouldn’t work against you.” Which makes me wonder why people choose to use to use something like vim when they could use something like jsfiddle. I know there are other tools you can use instead of vim like pico, but it made me wonder about elitism when comparing programming languages. I think C/C++ is seen as a ‘more legit’ programming language in part because it is harder to learn. Now that coding is becoming a skill that people are required/expected to have, I can see the appeal of more approachable/more easily understood languages, but also the need to differentiate one’s self from the crowd. Since it is harder to master C/C++, I think that being able to code in these languages as a status symbol.

In all honesty, at the end of the day, I don’t think there’s really an objective way to definitively pick what programming language is better than the other. How you learn/practice coding and the tools you use can increase your confidence in a language, which can help to put it in a more positive light. I think it comes down to what you are using it for and personal preference.