JavaScript looks like my handwriting

17 Jan 2024

After I completed the JavaScript code camp, I remember thinking that the syntax of this language makes the name make sense. It’s like Java, but the style of it reminds me of a script-style font, a half cursive mix of letters that I use to write when I use pen and paper. Each line looked more like how I would jot down notes, – shorthand, scrawl-like, and imprecise.

Compared to the other languages that I’ve learned, JavaScript feels more human in the sense that there can be a lot of room for interpretation. Unlike Java, C, or C++, there’s no declaring variable type when defining a variable or passing it through an argument, entire functions can be rewritten into one line of code, and I’m still trying to understand how objects are formed in JavaScript. Last semester I took ICS 212, where we learned C/C++ , and the one thing I enjoyed about C was how explicit everything seemed. I felt like I could understand each line of code and trace out the ways the computer processes it. Each line was either read, write, allocate memory, deallocate memory, or basic math. I know conceptually the same simple 5 steps are the foundation of JavaScript, of any coding language, but the shorthand syntax feels like it’s hiding all of it from me. It’s like when I go back to my notes and I forget what I wrote cause I was just getting thoughts down as fast as possible and now with the context long forgotten all I have is a bunch of squiggly lines. I’ve been coding for almost 2 years now, and I started with Java in my first college course, so learning JavaScript feels like learning computer slang.


Using JavaScript to build my coding skills

From a software engineering perspective, I could see how the language’s difficult readability can be a roadblock when developing programs, especially when done in a team setting using sharable code. However, JavaScript’s flexibility is also its strength. It is a versatile language. I don’t have the most experience with the language quite yet, but the ability to set variables without claiming a variable type and to declare dynamic arrays by default seems like it would make storing information a lot easier.

In ICS 314 Software Development, we’re implementing an athletic software engineering curriculum that prioritizes learning how to code efficiently and quickly. I’ve never thought of coding as a sport, in my head, it’s a very tedious sedentary activity that goes against most physician’s physical health advice. Our pedagogy in class challenges that standard through using Workouts of the Day (WODs) where we are given a limited amount of time to tackle a coding question. I’ve done a couple of practice WODs by now and I’ve surprised myself with how I’m able to complete it. So far nothing is quicker than the average time, and at first, almost only near the DNF (Do Not Finish) stop time, but completed. There is something satisfying in being able to complete something functional in under 20 minutes, even if it is a small piece of code. If I fail then that isn’t necessarily new, so I don’t feel nervous or stressed about the all-or-nothing nature of the WODs. It has the same thrill I imagine gambling has, and one win is all it takes for the excitement to grow.

Going to be a formative experience regardless

Being forced to implement what I’ve learned has been the most effective way I’ve learned things so far, especially with coding. The timed aspect of it specifically is something that I think will force my brain into action, and so I’m excited to see how these exercises grow my abilities with problem-solving and coding with JavaScript.