For the past week I’ve had to start learning Javascript. I dabbled a little bit with the language before taking ICS 314, thought by Professor Phillip Johnson, but not enough to form a solid opinion. During the week I had to do several exercises that helped me build my skills in the language. I had to complete the basic Javascript section from FreeCodeCamp and solving Eulor problems from Project Eulor by creating and compiling Javascript code in JSFiddle.
I’ve found that Javascript is a fun and simple language. Like C/C++ and Java the basic programming structures are the same. For example, assignment operators or loops behave the same as the other two languages. The syntax is very similar as well, I only had to learn a small amount of new syntax, for example, console.log() to print and var ‘some variable name’ to declare variables. A difference that I appreciated very much is that Javascript is able to store different variables in the same array.
One thing that I did not like about Javascript is how variables are declared. Even though variable declaration is the same as C/C++ or Java, the part that I dislike about Javascript variable declaration is that all datatypes can be declared by using either var, let, or const. By not being able to distinguish the datatype of a variable during declaration I feel that it will bring up problems or increase the complexity of larger, much more complicated projects.
Professor Johnson called the Eulor problems that I had to complete, in JSFiddle, WODs. WOD stands for ‘workout of the day’ and in regards to ICS 314, are programming exercises that must be completed under a specified time. Multiple WODs are given throughout the week to help students form the habit of coding under stress, this is athletic software engineering. I enjoyed that the style of programming, athletic software engineering, brought a sense of competition and made writing code feel like playing a game but I do not think this style would work for me. I can write code fast but I like taking my time to ensure that my code is efficient and when I am rushed by a time constraint that efficiency is lost.