Java wha?

23 Jan 2020

The weird language that’s used behind parts of websites?

That’s what I thought javascript was. What would be the point in learning any of it… how quickly did I learn I was wrong. It’s not just about making a website ‘fancy’ it’s about making a website with a powerful scripting language behind it. The capabilities that javascript has have only began to be touched upon with the knowledge gained so far. The initial learning curve for javascript seems to be rather easy, whether one knows a programming language already or not. If so, the basic programming constructs apply to javascript like any other language but being weakly typed and its implicit casting make you able to flesh out your program structure in a quick manner. If you do not know any language yet, I could understand how javascript would be a good choice for a first language. There is less emphasis on the small nuances (in the beginning) which allows you to almost just type out what you are thinking and it will work. There is some understanding of the structure needed, as you obviously cannot just type it out like it was some kind of pseudocode.

Do you even javascript bro?

The athletic software engineering WOD concept is an interesting one. Similar to a timed set of goals for a daily workout in the fitness community, we participate in coding WODs that allow us to program a solution or algorithm in a timed format in order to be more proficient at coding correctly with speed. I find that I have a somewhat middle of the road opinion when it comes to this approach. I feel like the adage “You can have it done fast, or you can have it done right.” holds true for almost anything. Care must be taken when programming in this style to not take shortcuts or let the lack of time affect your ability to put together not just working code, but clear, concise, fast and functional code. In the real world, there are deadlines for projects and usually expected milestones at certain timeframes, therefore being able to code with time goals in mind is a good habit. But, code delivered fast that doesn’t work is useless, when code that works delivered late at least solves the problem.

Not an excuse

There is no reason to be wrong and early, or late and correct. It should be correct and on time. While a large point of athletic programming is to code fast, I think the real take way should be “Can you learn to code fast correctly?” By paying attention to the time it takes you to code something in the correct manner, and then continually doing it over and over again, you can build up the speed of your correct coding. What you do not want to do is just learn to program bad even faster. I don’t enjoy the pressure of being told to code something in XX minutes, but I do enjoy the pressure of being pushed to learn the underlying material well enough that if you needed to code that fast, you could do it, correctly.