The first semester of my Junior year as a computer science student comes around and I think “Here we go, I have to take software engineering. Long hours of typing away in my development environment and trying to understand yet another language with all of its inflexible rules.” Based off of the experience I have had with Java, C, and C++, I have gotten used to coming up with a way to solve my coding problem, only to be bluntly informed by the language syntax that my solution is “not allowed”. While I did not at all enjoy that, I just assumed that every programming language had a rigid set of rules, and that I might as well get used to inputting exact parameters in order to make my code run. And then I met JavaScript.
Even though I have only learned the basic bones of JavaScript, I am enthusiastic for the potential change it will have on my coding habits. While it is by no means a “perfect” language (does such a thing exist?), the flexibility of JavaScript has launched me into a new realm of possibilities. Yes, at first it seemed much like the languages I had dealt with in the past, such as Java. Obviously, with the name JavaScript, it has to be some kind of cousin. Yet once I started trying to use it, I realized how forgiving it could be compared to its relative. As I completed my tutorials, I began to realize how much more I was accomplishing with such simple and easy-to-read code. What? Just throw a new variable in and don’t worry if it conflicts with others in the array? Can I do that? Spoiler: you can in JavaScript. Maybe less like Java’s cousin and more like a cool uncle who gives you a lot of slack. The flexibility just makes me that much more excited to write programs now that I can use even more of my creativity to code.
So now that I have less rules and picky syntax errors holding me back, how does that change my coding style? Previously, I would spend long hours on segments of code, examining every character to ensure the program would run. Now, I can write simpler code faster. So why wouldn’t I? Especially as a software engineering student, where our class is designed to teach “athletic coding”. With JavaScript, I can sit down to a problem and code a solution so much faster, with less lines of code and more intuitive declarations. This helps with the “Workouts of the Day” (WODs) that we do in class. These quick coding problems require just a few lines of code to solve them, and while they are challenging and even a bit stressful at times, I think that they could really help me to think through and produce my code much faster than before. JavaScript makes that kind of demanding, athletic coding easy…I don’t think I would have a chance if I was using C++ or Java. Once you allow for more creativity on the part of the engineer, software can be created in more efficient and intuitive ways.
Although I’m still only a Junior in college, I’m beginning to see the possibilities that lie ahead with coding. I’m hopeful that I won’t be stuck in my IDE all the time, grinding away at stiff, inflexible code. Rather, I hope to be solving problems in the most simplistic, creative, and efficient ways possible. Completing projects quickly and keeping an athletic pace, no matter what challenge I’m facing, is an exciting prospect. And while JavaScript might not quite be a magic carpet ride (to borrow a Disney reference), it has definitely given me a whole new perspective.