After spending about 7 hours on the Javascript tutorials FreeCodeCamp within a few days,
I dived into my first timed coding challenge using all out Javascript. If not for my strong C/C++ background
that I have developed in my previous engineering studies, I probably would have failed to complete it within the time
limit of eight minutes, especially since that would mean that Javascript will be my first programming language. The basic
syntax is very similar to C++, with a few minor differences here and there.
However, once I watched a video solution of the coding problem, I found that although my implementation worked, it was not the most efficient. I erased what I did and completed it much faster, using the more efficient method. Subsequent coding challenges, referred to as Workouts of the Day (WOD), were much easier after having experienced one already. They were not stressful and were relatively easy from an algorithmic perspective. I usually spent most of my time debugging my implementation, finding that I mispelled some keywords here and there. Perhaps they will become more useful when I begin to delve into more complex applications to really get my mind thinking.
I am not a complete beginner to Javascript in the aspect of where I have used some basic scripting on some basic HTML pages in the past. Nothing too complex, of where I only learned enough to get what I wanted to work such as altering content on mouse clicks. However that was a while ago, before Javascript ES6 and HTML5 was even released. The main new thing that I learned was about the “let” and “const” terms that are now preferred to be used over “var.” I still have yet to look over the entire Airbnb JavaScript Style Guide to see what else new things are introduced in ES6.
Javascript is a great language in itself that allows HTML pages to have more dynamic content and interactivity, instead of only being able to click on links that redirect you to other HTML pages. However, I am not completely convinced that this language should be used to teach engineering. Javascript is more mainly used for web development and perhaps a language used in the industry for software development such as C++ should be emphasized. That said, I still would like to improve my Javascript skills since I do have interest in full stack development to some degree. I just feel that when the term “Software Engineering” is mentioned, I immediately think of software that is for use in computers so that it can either interface with new hardware or interface with digital content in the simplest and most efficient way possible.