A program that makes better programs

17 Jan 2024

The Start

When first learning to program, there is a lot of time spent trying to just get the code to run. Between learning the syntax and mechanics of programming and trying to understand all the buttons on the IDE, I gave little thought to how I can improve my programming experience. The result of this lack of consideration led me to continue to use JGrasp since the beginning of my programming journey.

Until now…

not working?

An Upgrade

I feel that switching from a barebones IDE to one with extremely dynamic features is like getting your first new car after driving a ‘98 Corolla your whole life. The Corolla gets you to your destination, but it shakes when idling and you play your music through a cassette to audio jack converter. The first few drives in the new car are pretty scary, you are extra careful not to break anything and are unsure what all the buttons do on the car.

When I swapped from JGrasp to IntelliJ I was confused at first. I wasn’t sure on what was needed to run a basic program, or even how to set it up for JavaScript. I fumbled around IntelliJ for my first few attempts, but after getting the hang of it I can’t imagine going back to JGrasp. First off, the way that each project is stored in its own folder automatically made me immediately fall in love. Previously, in my haste, I would just keep creating .java files in the same folder until I couldn’t find what I was looking for and spent a bunch of time organizing the whole folder. Secondly, the synchronization with GitHub Desktop is incredibly convenient. Finally, and maybe most importantly, the customizations that IntelliJ supports. There are always superficial changes that can be made like the color or theme, but what really impressed me were the inspectors.

Mr.Inspector

I currently use ESlint as my only inspector for JavaScript. My current opinion of ESlint is not what I was thinking when I first started using it. My first experience with ESlint was a simple program to sum an array of numbers using different methods. The first being a for-loop, I wanted to do a for-each loop without having to list out the increment variable. I stupidly typed ‘in’ instead of ‘of’ and I got smacked with an ESlint error. This being my first time using the software I assumed this was a new feature of ESlint and I spent way too much time trying to figure out why I needed to guard my for-in loops. This isn’t really the softwares fault, but it was my experience with it. My only other gripe with ESlint is the typos. I get a yellow check mark occasionally even though the word is not a typo. Again, there are probably a few settings I need to adjust to get it working 100%. But the settings menu is longer than a TOS, and I haven’t had the time to fiddle around with it. The positives of ESlint far outweigh those two misdemeanors. I really enjoy the detail that it provides for how to correct anything it points out. I also like that often you can click ‘correct current line’ to fix all issues a line might have. After using ESlint for just over a week, the errors are less and less frequent and normally just me forgetting to click space. Overall, the features that IntelliJ provides makes writing code more streamlined and uniform allowing for easier understanding of the code and organization of code.