Learning Javascript from a Java perspective

20 Jan 2023

Overall, I believe JavaScript is a strong and adaptable language with lots of possibilities for efficient and creative coding. Its ability to be lenient on types and functions opens an incredible and complex world of computing. Especially with my prior knowledge in Java seeing for example a function with an object variable of arrays of objects of ints being passed as a parameter to another function is a sentence that would be nonsensical but in Javascript this is perfectly fine. This can allow for a free flow structure that allows data to be extremely flexible allowing easy passing and returning. However, when it comes to large-scale software engineering projects, especially in terms of security and stability, its lack of rigorous structure might be a disadvantage. I’m currently working with a decently sized team on the UH Groupings project whose project mainly uses Java for its backend. From my experience, applications of Java written by colleagues are much more direct and clear due to its strictness in the way Java approaches types and functions. Alternatively code written in Javascript can vary a lot depending on the person coding it and although you can use comments to communicate ideas, for very extensive scripts, code being readable and clear is just as if not more important. Java;s ability to write tests and debug is unmatched compared to javascript but they both share a purpose. In my mind Javascript is an amazing language to use when dealing with alot of simple directive and data that you want to manipulate cleanly. Java is a more robust but stable language that can be used as the foundation of complicated project. The module was beneficial to me as a beginner because it helped me to better understand the fundamentals of JavaScript and introduced me to the new capabilities of ES6 which before joining this class I never heard of. The 100+ exercises as tedious and time-consuming as they were did undeniably help solidify my basic understanding of Javascript and ES6. The practice WODs were especially helpful in showing the language’s applications and in teaching me how to code efficiently in JavaScript. Although the module took a lot of time and work, I found it to be less stressful than other kinds of projects and thought it was well-structured. What it took up in time it made for with its straightforward and clear directives. At first Javascript seemed like another daunting language to overcome but after realizing it’s potential and similarities with Java I’m actually quite excited to see the applications I can make with this newfound knowledge.