My Experience With JavaScript So Far

01 Sep 2023

The Wonders of JavaScript

So far I enjoy JavaScript a lot more than what I am used to which is C. C has a different approach to object-oriented programming using structs and functions and unlike JavaScript it doesn’t have built-in support for classes and prototypes. JavaScript’s object-oriented syntax with prototypes and constructors is apparently more advantageous for building complex, interactive web applications that require managing various objects and their behaviors. C’s structured programming syntax is more suitable for traditional procedural programming and low-level system development. If you need to work within an object-oriented program, JavaScript provides more natural support.

Another difference in JavaScript that’s significant is the ability to declare variables without data types. C is a statically typed language, where you must explicitly specify the data type for each variable such as int, char, unsigned int, double etc. However, in JavaScript you can simply write var, let or const and it seems a lot less strict about data types. I can imagine that as we progress through the course start to code more complex projects that this could be an issue. There must be some disadvantages to having looser coding rules. I think JavaScript’s dynamic typing is advantageous when you need more flexibility in your code as compared to C. C’s static typing is advantageous in situations where strong type safety is critical, such as system-level programming or safety-critical applications, ensuring that variable types are explicitly defined and preventing potential

Another important difference are JavaScript’s dynamic arrays, defined using square brackets. They are advantageous for scenarios where the size of the data structure may change dynamically, as is often the case in web applications. C’s statically sized arrays with specific type declarations are more suitable for situations where memory efficiency and predictability are critical, such as embedded systems with limited resources.

From this module, I learned a lot about JavaScript syntax and how to navigate functions and objects as well as the basic operators for math and boolean. I haven’t explored the language enough to give a better opinion on it but so far I feel like JavaScript has great flexibility with some drawbacks that I will discover further along when it comes to loose typing.

Thoughts on the Class

Athletic Software Engineering has been a good practice. The term use it or lose it is very true, and if you don’t sharpen a skill frequently enough you will begin to dull. The practice WODs are useful because they create a high stakes stressful environment that’s similar to an actual coding interview process. Time is a metric that will always be used against you so having that pressure is great practice.

Overall, this style of learning is good however it is stressful and maybe needs some time to get used to. Most of my classes don’t have assignments due as frequently as this one so now I’m constantly checking Laulima and getting dizzy. The frequency of the work is overall for the better, and at the end of the day I do want to be competent in what I do so having more accountability does help.