Journeying into Javascript

17 Jan 2024

What is Javascript?

JavaScript is like the magic behind the scenes on websites. It’s a language that your web browser understands and uses to do things on web pages. For example, when you see a page updating new information without you refreshing it, or when you see interactive maps and animations, that’s JavaScript working. Even though it has “Java” in its name, it’s not the same as Java, which is a completely different language.

Comparing it to other languages

I find that JavaScript is generally more intuitive compared to languages like C/C++. Unlike C/C++, you don’t need to declare types in JavaScript. This aspect is similar to Python, making both languages more beginner-friendly. While JavaScript and Python prioritize ease of use and developer-friendly syntax, C/C++ emphasize performance and efficiency, They offer greater control over hardware and system resources, making them ideal for systems programming and performance-critical applications. However, JavaScript excels in building interactive and responsive user interfaces, thanks to its ability to run directly in web browsers.

Software engineering perspective on JavaScript

JavaScript is a good programming language. Like Python and Java, JavaScript has a large, active community and a rich ecosystem of libraries and frameworks that can speed up web development. JavaScript allows for procedural, object-oriented and functional programming. They also plays a crucial role in modern web development. As a versatile and dynamic scripting language, JavaScript is primarily used for client-side scripting to enhance user interfaces and add interactivity to web pages. It allows developers to create dynamic and responsive applications that run directly in the user’s browser. Having an active community surrounding JavaScript ensures continuous improvements, abundant resources, and peer support. Thus from a software engineering standpoint, JavaScript’s versatility, ecosystem, and constant evolution make it a powerful tool for building modern web applications.

WODs

The practice WODs (Workout of the Day) in this class is beneficial. The questions strike a balance of difficulty - they aren’t as challenging as those on LeetCode, yet they’re not overly simple either. I appreciate this learning approach as it’s likely to be advantageous for future coding interviews, should I pursue a career as a software engineer. ICS 314 is perceived as having a substantial workload, I’m currently managing it without feeling overwhelmed. However, as the semester progresses and the demands of my other classes come into play, the situation could potentially become more stressful.