It is no secret that JavaScript is an increasingly popular programming language. Its rising popularity can be attributed to the ever growing consumer base of web resources. In addition, with Node.js, JavaScript can be used on the server side, allowing for applications to be run outside of a web browser. Cell phone applications for iOS and Android are commonly written by developers in Java, a flavor of Java (e.g. Kotlin), Objective C and Swift. But using JavaScript frameworks such as React creates apps that run seamlessly across different platforms, while offering developers the option to use parts of their original code written in other languages. Beyond mobile applications, the online presence of many companies and even medical services has grown. This shift started before the COVID-19 pandemic, but accelerated as it became obvious that social distancing was/and remains key in controlling the disease spread. This makes JavaScript an essential language to today’s budding programmer.
For the beginner, JSFiddle is a great tool to get a lot of practice in JavaScript and allows users to share their JavaScript code easily! The code you write doesn’t need to be associated with a browser. (Note: Although, you can also practice JavaScript by hitting F12 and using the Developer’s Console of any Internet browser). JSFiddle offers a variety of customization options that allows for organizing your Fiddle workspace to your liking. JSFiddle also supports HTML and CSS, making it a useful tool in building your way towards writing a standalone interactive webpage. My experience with JSFiddle has been for the most part, overwhelmingly positive! It was an easy step up from the freeCodeCamp exercises, allowing me to test my code with a simple Ctrl + Enter. My experience with JavaScript so far has also been positive. JavaScript is important to know for the aforementioned reasons. But JavaScript is also easier to code in than Java. For example, when writing Classes, JavaScript does not require accessors and mutators for encapsulation purposes. JavaScript is less verbose than Java because not all code has to exist inside of a class or module. We are fortunate that our first experiences with JavaScript through ICS314 (Software Engineering) comes after ES6 was implemented. For example, ES6 provides a lot of syntactic sugar that makes it easier to code Classes. ES6 uses Arrow functions which provide a more compact way of defining functions and allows the inserting of values from the enclosing function into an inner function. I believe that the importance, accessibility (ease of usage) and flexibility of JavaScript make it an excellent programming language for software engineering.
The JavaScript coding experiences in ICS314 include a number of WODs (Workout of the Day) exercises scheduled each Thursday of the semester. These WODs fall under athletic software engineering – where students are asked to write a working program under a time constraint. So far, we have had one practice WOD this semester. The program itself was not difficult to write, but the time constraint did put additional pressure to work in a more efficient manner. This was a bit stressful, but finishing the WOD gave an immediate sense of accomplishment and increased my desire to practice JavaScript on JSFiddle.
JavaScript is a very popular language that is likely to become more widespread as the world continues to shift more services online and provide more ways (eg. apps) of connecting people across the globe. It is nice that my introduction to JavaScript is through a class (ICS314) so that I can ask questions as I’m learning about it. I look forward to my future experiences using JSFiddle and programming in JavaScript. I also look forward to seeing what challenges await me in the WODs!