Letting Too Much Go

01 Sep 2017

What a mess. Everything is compiling, the linter isn’t complaining, and yet I’m still seeing the problem. Why is the clicking feature’s action happening multiple times instead of once? I had been looking at a problem in React Native for the past two days at my internship.

I had dived deep into the code for the hundredth time over the past few days, and I still can’t find the error. I had tried looking up the problem in multiple ways and Googled my way around every type of situation that I might be looking at with no avail.

The worst part about Javascript is that you may never find out where your project’s problems lie. It could be a spelling error, a wrong function declaration, or swapped code. At first when prototyping it can make sense to let a lot of things go. We want to see some sort of result as soon as possible. Why would we want to deal with all the strict rules of typing languages? These are all nice in the beginning, but when the final few tweaks are necessary it’s a terrible quality.

There is much more checking available to strongly typed languages rather than loosely typed languages. That is where some people praise TypeScript; however, the problem will persist as long as JavaScript is still the main web development. A lot of people say that TypeScript is also not the greatest at catching all errors.

I feel like in school there’s not enough opportunity to create a big enough project where you see the inconsistencies of programming in Javascript. After creating a big project in Javascript, I realized all the headache that came with programming in a loosely typed language. It was a full stack project and backend in Java was a lot more straight forward due to scaling

The more I practice with Javascript the more familiar I get. I have been starting to recognize the patterns that have caused me so much stress in debugging. The struggle is continual though. With constant practice, I will hopefully show more improvement.