As a student studying Computer Engineering, one question I get asked a lot from my friends and family is, “So I wanna learn how to program, What language should I learn first?”. I learned C, C++, Python, and now JavaScript throughout my academic years. Therefore, since C/C++ was my first language, my answer would always be C/C++ to learn about pointers and allocating space and better understand procedural languages. However, after being introduced to Python and now JavaScript, my views have changed. JavaScript is a natural language and, therefore, straightforward to pick up and learn. It hides these abstract details and welcomes new programmers to the world of software engineering while using a high-level language. After only spending a couple of hours with JavaScript, I created simple programs and functions. One thing that is a bit tricky with JavaScript, like all languages, is that you need to learn their vocabulary and grammar, or in this case, JavaScript’s methods/properties, and syntax, respectively. However, this comes naturally through practice. Although, I personally think that C++ is much more powerful than Javascript since the programmer can control nearly every aspect of their computer’s processor and memory. JavaScript is more effortless and relatively straightforward to learn.
JavaScript and C++ share many similarities in syntax, such as their use of semicolons at the end of statements and both allowing OOP (Object Oriented Programming). However, there are also many differences. When it comes to variables, C++ requires you to state what type of variable you are using (int, float, char, …), which allocates a certain amount of memory for that variable. On the other hand, JavaScript is an untyped language which means it does not need to define the types of variables being used. But instead uses vocab such as var, let, and const before a variable. I enjoy JavaScript and think it’s a great language to add to your collection due to its clear syntax, typeless variables, and availability. In addition with ES6, it allows you to write less code while doing more.
To get fit and see results as a software engineer, you need to train. This ideology is encompassed in the process of athletic software engineering. This process teaches essential skills through “WOD” (work out of the day) to help exercise our recently acquired knowledge. Different “WOD’s” are used throughout the week to help you master the skill. The week begins with practice “WOD’s,” then group “WOD’s,” and finally a timed “WOD” to use as an assessment of your skillset. After experiencing a 2 round technical interview process, I can see why introducing a timed “WOD” to students would be beneficial, primarily due to companies using technical coding interviews (similar to WOD’s) as a hiring tool. Although I can see why this learning method would be beneficial, I’m personally a pretty organized and disciplined person in my academic life. Therefore the athletic software engineering process does introduce me to additional stress. However, you won’t get a job through simple “luck.” Luck is what happens when preparation meets opportunity, and you are either ready or not for that opportunity. I am willing to adopt a new studying habit and use that stress as a motivator to be prepared for these WOD’s which will hopefully help me in the long run.