Learning Javascript

20 Jan 2021

Earlier Semester

Before joining the ICS-314 class at the University of Hawaii at Manoa, I was familiar with the Java programming language. Learning Java, in the beginning, had been a nightmare for me as I was struggling to grasp the concept of basic keywords such as classes, interfaces, access modifiers, etc. Understanding when and where to use these keywords took me a generous amount of time. While I’m glad that I picked Java as the first programming language, there is no denying that it can get pretty overwhelming at times for beginners. Nonetheless, it will help to create solid foundation to learn other languages.

Why Javascript?

Javascript is one of the most popular programing languages that is used extensively for web development. Even though it is getting popular for backend development with the integration of its backend runtime environment such as NODE JS, it’s considered a go-to language for the front end. Javascript, in comparison to Java, is simple and easy to understand. One prominent example to illustrate the simplicity of Javascript is the ability to create objects without creating classes and instantiating them. Unlike Java, we can write and run code in Javascript without creating classes. Javascript also provides leniency while declaring variables and functions, while in Java, we have to strictly specify the type if variables and return types in functions. With that said Javascript introduces new features in ES6, which could be challenging for beginners. It introduces new concepts such as arrow functions, promise, rest parameters, let, and const, which might take a reasonable amount of time to understand.

Javascript is an instrumental language for software development. With the integration of its framework such as Angular, Node JS, Electron, etc., we can create web, cross-platform mobile, and desktop applications, and so many other things.

Athletic Software Engineering

Athletic software engineering is an approach for generating high efficiency within the students by challenging them with course-related problems that the students have to solve within the given time. This approach is stress-inducing for students but consequently prepares them for the real world challenges after college.