JavaScript: A Minimalist

20 Jan 2021

New to JavaScript

My first thought was Javascript is fairly similar to Java. The first few basic parts of the freecodecamp just kept reminding me of Java. Being a computer science student for the past year, I have been introduced to three useful and common programming languages, Java, C, and C++ . Therefore, things like syntax, naming, looping, concepts such as functions, arrays, objects were not incredibly strange for me to understand. However, my mind had changed as I moved forward to further parts and ES6. Except for the basic syntax and rules, JavaScript is distinct from Java in many ways.

I am a complete newbie, through completing the basic lessons in freecodecamp, I suspected that JavaScript is a language pursuing extreme simplicity. Probably I would like to view it as a “minimalist”. Contrary to Java strictly declaring variables with specific type, “let” and “const” used in JavaScript (ES6) play a huge role in reducing the difficulty of coding. Despite the relatively easier declaration, I also found that simplicity reflected by the omission of repeated names sometimes causes confusion. For example, the name ”function” is normally replaced with an arrow, which never appears in neither Java nor C. To minimize the length of a piece of code, it is very common to omit repeated things like parameters and repeated properties names. The use of notation is way more flexible. Unlike Java, in which reassignment is always represented by an equal sign, JavaScript allows the existence of semicolon, colon, comma, parentheses, bracket, and brace all in a small part of code to achieve many functionalities, like declaring nested objects in an array. Comparing Java with JavaScript, I suppose that Java is much more structured, strict, and detailed. The simplicity of JavaScript definitely enhances coding efficiency. I personally think this adds a difficulty to read and understand as well, but I believe as I learn more and get used to it, I will take the advantage of its minimalism and flexibility.

Athletic software engineering

This new teaching method exactly shocked me out at the beginning of the semester. I was assigned plenty of work in the first week, and I was given only a few amounts of time to adapt to this new course structure. I have to admit it is quite stressful, especially the introduction of “workout of the day”, or “WOD”. In a timely manner, students are required to read the introduction carefully, build up the solving in mind, and complete code. Grading is based on correctness, implementing an “all or nothing” policy. Easy to perform poorly if you simply skip the practice WODs and go straight to your video gaming. Students can reach for help anytime except during the WOD time, when they rely solely on their own abilities and knowledge gained from the learning outside of the class. I prefer to call this ASE “Challenges along with opportunities”. I am exposed to pressure and challenges as well as abundant learning resources and practice opportunities. As the class moves on, the in-class WODs will be more complicated and time-consuming. Hopefully, we could all survive.