Sigh, another language I have to learn...

17 Jan 2023

Should I even bother with Javascript?

When I first discovered Javascript, I meant only to use it to give some functionality to a button in an html site I was writing up. That being said, my knowledge of Javascript was limited, to be generous, and finally taking a bootcamp to properly introduce myself to Javascript has been enlightening. Yes, yes, to its credit, Javascript does have several more uses aside from implementing buttons. But what first stood out to me was how similar the syntax was to Java - which would seem intuitive if you think about how their names are almost identical - but I previously heard otherwise, believing that there was a massive difference between the two languages. However, I was pleasantly surprised by how convenient programming in Javascript is. Aside from Python, this is the first “language” (or I suppose script, in this case) that did not require type declaration during assignments. This was the first time I got familiar with spread, and array/variable assignment is particularly easy.

Is Javascript a good programming language?

Believe it or not, class does teach you something useful. We all like to deny it, but in this case, yes, Javascript is actually a useful skill. I always hear that Javascript is universal in terms of Web Development. The world-wide-web functions on Javascript, and unlike languages like Python or Java, you don’t have to install the latest version of the interpreters in order to run the same code. So yes, Javascript must be a convenient and natural option. To be honest, beyond Web Development, I’m unsure of the common uses of Javascript. It does seem like it could pass for a general-purpose programming language the same way C, C++, Python, and Java are, but as far as I’m aware, there are not many who would label it the same way they would for those other 4.

Javascript’s syntax is pretty simple to understand, especially with some foundational knowledge of Java, but it does have some strange functions that are difficult to get used to. The lambda expressions (in-place expressions) are pretty strange to me. In C and Java, the compiler is especially picky about determining which variable is being reassigned, what parameters are being used, what types the parameters are, among numerous other things. In Javascript, it seems like many of those things are thrown out of the window, which in one perspective is extremely convenient because there is less code to write. However, in my opinion, this makes it almost harder, because I have a tough time understanding what the function is really doing without seeing each individual part. For example, an issue I came across is when defining a function, the return variable is sometimes “guessed” by the compiler. Maybe there’s a specific pattern to it, but I prefer using C for lambda expressions so that I can understand what steps the compiler is doing for me. Overall, the 113 basic exercises were pretty easy for me to understand, but it’s just the ES6 material that I have trouble with.

Athletic Software Engineering

So far, athletic software engineering has been pretty easy for me. I know, I know, I shouldn’t get ahead of myself, but I’ve been able to do them quite quickly. Perhaps it is simply because we are doing practices only for our very first WOD, but there hasn’t been really any tests of the ES06 material, which, as I mentioned prior, is the only thing that I struggled with so far. Plus, aside from the fact that we are defining functions rather than methods, and using “let” instead of “int”, much of the syntax is similar to Java, which I am very comfortable with. So I’m feeling pretty good! Hopefully it stays that way. Yes, the practice WODs have been quite useful so far, but I think I would be doing fine even without them, and I don’t feel remotely stressed. However, there is the masochist part of me that enjoys a tougher challenge. I’ll look forward to when that comes later in the semester.

Wrapping Up!

So to summarize, my experience with Javascript has been mostly light-hearted and stressfree. Yes, the ES06 material confuses me somewhat, but I’m sure it’ll be like second nature to me with practice. I do certainly hope the practice WODs will get increasingly challenging. Overall, Javascript seems like an awesome script to me, and I have genuine interest in learning more about it.