Javascript, An Oddity

14 Jan 2019

Past Classes

The ICS program at UH Manoa is set up pretty interestingly. Students start at ICS 111, learning the basics of programming using Java. This is continued in ICS 211 as many of the basic ADTs and sorting algorithms are taught using Java. Once students reach 212, they go back to the beginning and learn some of the same concepts, but now in C, with a bit of C++ thrown in at the end of the semester. Java, C, and C++ are all pretty similar in how they operate. With the exception of pointers in C and C++, one can go from learning Java to learning C pretty easily as they only have somewhat minor syntax differences. This is where Javascript comes in at ICS 314.

What’s Wrong?

As you may have guessed, Javascript, so far, is the outlier in all of this. It is quite an odd language that seems to take much of what was learned with previous languages and just chucks it out the window. Just from going through the basic Javascript tutorials, I was definitely confused as to how this language functions as it seems to be the simplest of the languages mentioned earlier. How is it that all variables can be defined with the same keyword? Where is the main function? Why do objects look like that? Why does ‘0’ == 0 return true?! While I do find Javascript to be pretty weird, it does seem to be really easy to both learn and use, while still being functional.

I personally have absolutely no clue whether or not Javascript works well from the perspective of a software engineer as I don’t really have any experience with either Javascript or with software engineering. From what I’ve heard, Javascript is a very popular language and is liked by many in the field, so it seems like others consider it to be a “good” language.

The WODs

The idea of “athletic” software engineering and the concept of having WODs is pretty interesting. I find that it is definitely more enjoyable than sitting in a boring lecture for 2 hours trying not to fall asleep. However, there is some sense of stress to it as there is an urgency to it. The fact that it is timed makes it much more stressful as I need to read the problem, type out code to solve the problem, test the code, and edit the code until it works, all within x minutes. Just thinking about having a grade based on strict time constraints like that are anxiety inducing. For now, I think they’re okay, but my opinion may change in the future as the assignments become more difficult.