Diving into Javascript from C

26 Aug 2022

Learning a new language is always daunting. If you already have experience with a language another language isn’t too farfetched, in theory. There are usually a few or a lot of syntax changes but you should be able to understand how to code in that language. The hard part is breaking out of the mindset of coding of the language you’re used to. Maybe something you do specifically one way can be done a simpler, or easier way in another language as they have a different functionality that allows that to happen. It’s your own duty to try to unlock a language full potential, if possible, not just do it the same way you would with one language, as there would be no point in having different languages anyway.

Thoughts about JavaScript

I started out learning C, so learning JavaScript wasn’t too much of a new experience to me, as the syntax was fairly similar. Actually, it almost felt like I was learning C for the most part, especially with the beginner lessons of JavaScript. The first syntax change that caught my eye was the use of let and const to define variables instead of using “var”. Other than that, it was almost if I was learning C again but more forgiving. Functions didn’t need a return type associated with them, they could return multiple types, be it a string or integer. Not having a return type needed for a function helped reduce some code where I would’ve needed more lines to represent both. Only once I got into the ES6 portion of the lessons that things started to feel a lot different. ES6 really helped shorten the code to represent the same thing, with destructuring syntax and also with the rest and spread operators. Although I’m still fresh to the world of software development, I can’t earnestly answer the question if JavaScript was worth learning or not. I feel as if most languages are worth learning for fulfilling certain niches, as that’s what they were created for in the first place.

Thoughts about Athletic Software Engineering

Athletic Software Engineering is a newer concept to me. Though I think of it the same as the leetcode practice I’ve been doing, though adding a timer does change the dynamics of it vastly. The WODs helped me brush up on my coding a bit with JavaScript. The first one I tried took me a bit longer to get used to and get the right syntax for the code, but as you do more you get used to the new syntax of the language, things start flow more smoothly. Though it is partly stressful, it is good stress, for lack of a better word. Akin to P.E class in high school, having these different categories of time it took to finish the problem, you know where to stand against others on a particular problem.
If you’re adequate enough maybe you don’t need to brush up on the skills needed for that particular problem, but if you falter and take too long or even DNF then you know that specific category is something you need to brush up on. The WODs don’t test things you don’t really know or too abstract, it should be things that you should know, hence the time limits. Overall, I feel people who’ve done Athletic Software Engineering will say it helped them feel more prepared entering the labor market.