My Eye on Javascript

18 Jan 2019

As an algorithms coder, I’ve dealt with quite a bit of programming languages, however I have never needed a reason to learn Javascript until now. I suppose being a computer engineering student, I’ve spent alot of time writing programs in C, C++, Python, and HDL languages like VHDL, Verilog, System Verilog. However, after going through the Javascript module in my software engineering class, I feel it is quite similar to Python in type definitions.

In my opinion, I believe that if someone has a strong understanding in C/C++, they are capable of easily picking up any other language. In the same way, I felt picking up Javascript was very easy for me especially since as a Python coder, I’m not the biggest fan of worrying about types when developing algorithms. Personally, I appreciate simple definitions like the Javascript ‘var’ or ‘let’; however I prefer not having to worry about type definitions altogether.

From what I’ve seen so far working with Javascript, I can see how it has been rated as one of the favorited languages for software development. What makes me question though is how universal it is when trying to implement it in large projects when other programming languages are involved. For example, when I interned at Raytheon, I worked on a project that utilized multiple languages. Since Python is a functional language, it was very simple and convenient to write a file that easily called our python scripts with python NAME_OF_FILE.py – unlike languages like C/C++ that requires an initial compilation. I could be wrong and perhaps Javascript does not require initial compilation and can easily be called simply by other means like a GUI. This will be something I am eager to discover during this semester as I learn more about Javascript.

I absolutely love the idea of “athletic software engineering” as introduced in this class. The best thing I love about this method is forcing students to step out of their comfort zone to think on the fly under time. Of course, in practice and in industry, it may not be the most practical application, but I feel it prepares CS/CE students for technical algorithm interviews. I don’t mean this necessarily when it comes to studying for the data structure topics like arrays, linked-lists, trees, hash tables, etc., but the emphasis to perform well under pressure. I also appreciate that the problems given in the class are not particularly difficult so essentially, any average CS/CE student could figure out the problem in the given amount of time.

If it has not been made clear by now, I have a bit of an obsession with topics related to algorithms and data structures; so much so that I genuinely enjoy this way of teaching. I like being able to see how fast it will take me to solve a given problem. In my opinion, I believe this is one of the coolest ways to teach students how to perform well under pressure.