Working the Mental Muscle with JavaScript

23 Jan 2020

JavaScript: First Impressions

So far, JavaScript seems to be a fine language. I think that it is a little too early for me to say for sure whether or not I like the language, but it does have some nice aspects to it. The most significant aspect of JavaScript that struck me as interesting was how variables do not really have a type, and you are free to pretty much assign whatever you want to things. In particular, the fact that you can return anything and that you do not have to declare types of parameters for functions seemed strange coming from a Java/C background. I can see the appeal of this characteristic, however, as it makes it a lot easier to conceptualize and write programs in a way that seems logical to humans. The programmer does not have to really know or care about types of data and can ignore all of the specifics of declaring certain variable types and converting from ints to strings and whatnot. This also makes JavaScript code seem a lot more readable at a glance, which in turn makes it much easier to read other people’s code, find out what it does, and collaborate.

Athletic Software Engineering: Mental Work-outs

Regarding the “Work-out of the day” style of learning, in which one is given a small set amount of time to write a program to solve a problem, I personally think it is an interesting way to frame testing. The time limit puts pressure on the participants, forcing them to rely on their prior experience and existing knowledge. It is a way to discourage something that I find myself guilty of a lot, which is relying on google and referencing previous code that I have written, and not actually internalizing and retaining knowledge. While a lot of programming is very much about looking back on references and making use of resources to find solutions, it is a good idea to train oneself to not have to do so as much as possible to increase efficiency and establish a smooth workflow. This style of learning is a little stressful, as it is very much like a test in which one desperately hopes that they are prepared for the prompt and know how to tackle the problem, but successfully completing one can be very satisfying.