So far, my introduction to JavaScript from this class has been relatively smooth. Compared to the languages I have worked with in the past – Python, Java, C, and C++, I would say that JavaScript has felt most similar to python. This will likely change as I both learn more languages in the future and gain a deeper understanding of the languages which I have already worked with, however at this point in time it seems like the most apt comparison to me. However, even that comparison fails to describe how I’ve felt about JavaScript; so far it’s felt like a language which contains a mix of features and syntax from all of the languages which I have learned – except perhaps C.
As I have began learning the basics of JavaScript I have run into many features which have piqued my interest, however I have also unfortunately discovered that while many of my favorite features are present, a few haven’t made the cut. While several of the languages I have worked with before do contain anonymous functions, until beginning this class I had neither learned about them nor used them. However, after learning about them while studying the absolute basics of JavaScript I’ve come to find them quite interesting, and have already found many instances where I would rather use them over defining a function to use only once. The same holds true for several other features such as the reduce, map, and filter functions. However, some of the features that I most enjoyed from my time learning C and C++ in ICS 212 – pointers and operator overloading – are absent from JavaScript. Overall, as I stated earlier, this language feels like a mix of the languages I have learned. As such, while some features must be pruned away to make room for others, that just means that there is more of the language to enjoy and learn about.
If this style of learning about coding is athletic, then I think it would be accurate to say that I have been very sedentary recently. While I took algorithms last semester and enjoyed it greatly, I haven’t worked with any actual code since I took ICS 212 in Spring 2020. As such, while I feel like I’ve been picking it back up quickly, I found the concept of WODs very intimidating at first. Since beginning the class I haven’t found the WODs to be as bad as I imagined at first, however I believe it wouldn’t be unfounded to suggest that they’ll only get harder from here. So far, the practice WODs have been restricted to writing single functions in JavaScript to accomplish relatively trivial tasks – summing every integer below some maximum which is a multiple of any member of a given set of integers, and checking whether a string contains any character more than once. As such, the difficulty can only increase from here. However, I’m ready to keep working to get back into mental shape and learn more about software engineering, and looking forward to everything we’ll learn.
While the style of the class is a little stressful, so far everything’s been under control and everything about this class seems like an effective motivator to ensure that students will keep on top of their studies. Overall, I’m ready to try my best and looking forward to learning how to work on larger projects.