Becoming multilingual

31 Jan 2020

Going into college I had no experience programming, so despite how elementary the introductory course can be, I was still anxious. Getting through that class and the sub-sequent class in order to get a firm grasp of the Java language was difficult to me and seeing as there are so many nuances within the language, I thought learning other programming languages would be a daunting task. Then in the semester following that class I am to take a class for Javascript and another for both c and c++. If just Java was challenging, this is going to fun. To my surprise, that statement ended up not being sarcastic.

In regards to Javascript, the class name is titled “Software Engineering” which made me think that it was going to be a complex language. I was delighted to find that in some regard, it’s somewhat simpler than Java. For example, declaring variables is a very elementary task, but Javascript makes it even easier. To compare variable declaration in Java and Javascript;

Java

int num = 0;
string phrase = "Hello World";

Javascript

var num = 0;
var phrase = "Hello World";

Javascript doesn’t care about initializing variables to a certain type when you define them, but rather sets the type when you assign it a value. This makes things very easy and laid back when programming, however I can see how this could lead to some problems with the language, since these variable declarations can be very loosely defined. As I’ve learned with the programming language c, it’s best to be very precise with your code, so from a software engineering standpoint, this could be seen as more detrimental than beneficial to the programmer.

Like expected, Javascript isn’t entirely simple and has some concepts that take some time for me to wrap my head around. I am blessed and cursed with my Javascript professor, professor Johnson. With his idea of learning through “Athletic software engineering” not only am I programming Javascript on days I feel that I shouldn’t, I’m actually learning the content. At times it feels like he’s more of a programming coach, but his coaching works, despite it being stressful at times. A good example of this is what he makes us do every week which he calls, “Work out of the day” or “WOD” for short. These are short in class programming drills in a group and alone where we must complete the task at hand before a certain time. No one likes the inherent pressure this presents, but it really gets the gears turning and makes us learn. To be very cliche, “Pressure makes diamonds.”

Becoming a software engineer sounds like a difficult task, but learning Javascript with some athletic software engineering is making it seem very doable. Professor Johnson presented the class as fun and interesting, and it’s turning out to be true, so I am now looking forward to learning this new language, even if it takes a bit of coaching from him.