Going into the spring semester as an ICS major, I have taken a class that is claimed to be one of the most challenging courses in the ICS department, 314. The very first coding language we are introduced to right away is Javascript.
Learning Java, C, and a bit of C++ prior to, I strongly feel that Javascript is a coding language that is condensed, but still more than capable of executing any baseline coding concepts. For me, it was relatively easy to pick up as it does have similarities to the prior coding languages like for loops, functions, or return statements with some having small variations to them.
In terms of calling it a “good” or “bad” programming language from a software engineering perspective, I feel that it really depends on what they’re doing. It’s been established that some coding languages are good at executing tasks where others fall short in terms of effeciency and complexity. There are better coding languages out there to use if, say someone wanted to design a 3-Dimensional game. But really what Javascript was meant for is simpler(and I use this term loosely) implementation like adding dynamic and interactive objects to a website, normally for the purpose of making it more interesting or user-friendly.
After reading Philip Johnson’s essay regarding athletic software engineering and the industry’s current practice of cubicle software engineering. To simply put, I do believe that Javascript is a great tool for athletic software engineering. As opposed to traditional programming languages, Javascript’s coding concepts are very easy to pick up like it’s easy implementation of functions, having most datatypes combined into one, and most importantly, unlike Java, C, or C++, there is no step where you must compile your code. This makes coding much, much quicker. So how do we demonstrate this concept of athletic software engineering in the classroom?
In class. While being timed. Practice WODs are useful, but nothing ever truly prepares you until you’re aware that you’re getting graded for coding on a short time basis. That is when the pressure kicks in and you’re truly pushed to your limits. As mentioned in the last section, that is when Javascript’s very useful “shortcut”-like language fashion really encourages and compliments that quick coding environment.
This style of learning is, without a doubt, stressful. However, it is EXCELLENT practice and discipline to get you to critically think in a short amount of time. This will ultimately build that ability to use my time effectively and keep me on my toes, and in this case Javascript is definitely the most fitting coding language.