Thoughts on IDEs and Workout of the Day

Recently I have been mandated to use a new IDE called IntelliJ by one of my classes. Having to learn and use a new IDE always strikes fear into my mind as this is the same as telling me to use a different OS. We, as developers, like to be accustomed to our natural development environment. In fact while I was having lunch with my fellow Teaching Assistants (TAs) today, we were talking about IDEs. The conversation went somewhat like this:

“I actually use Sublime at home, but recently I tried this new text editor called Atom.”

“Oh, you mean the one by GitHub?”

“Yeah, that one, but I actually don’t like it. The text size is too small and the menu colors are all wrong.”

I would like to emphasize my colleague’s comment on “the text is too small” and “menu colors are all wrong.” I think that if anyone else heard our conversation, he would think we were insane. Who would even complain about such a minor point in a computer program? But alas, we have been so used to our IDEs that having to learn a new IDE causes us to feel uncomfortable from even the slightest change.

My primary choice of IDE has always been Eclipse. I learned how to program in Java in JGrasp when I first started out. My TA for second semester Java forced us to all learn Eclipse when he found out that we used JGrasp. From that point on, I used Eclipse for almost anything, ranging from Java, C, C++, PHP, Python, and Ruby. While I did dabble in other IDEs, such as Microsoft Visual Studio 2012 and LispWorks, the reliability of Eclipse always made me come back to it. The only other text editor I use besides Eclipse is Notepad++ when Eclipse does not have plug-in support for the language I am working with.

As for IntelliJ itself, so far I feel okay with it. While I am still learning how to use IntelliJ effectively, I am still able to program without issues. My class had several WODs (Workout of the Day) that we had to complete and I was able to complete all of them in a reasonable time.

Each WOD consisted of having to create a repository on GitHub, implement code in IntelliJ, and commit the code to GitHub. The first WOD involved having to find the sum of all the multiplies of 3 or 5 below 100 (link). I was able to complete this assignment in around eight minutes. The second WOD involved finding the sum of all even valued terms in the Fibonnocci sequence whose values do not exceed 4 billion (link). I was able to complete this assignment in about 9 minutes. The last WOD was to find the largest prime factor of the number 600851475143 (link). I completed this assignment in about 11 minutes.

While my time may not have been spectacular (I spent most of the time actually trying to develop the algorithms on the fly), I think I did alright. I was not working with a familiar IDE and I was coding on my laptop. I do most of my primary development using my desktop so having to adjust to my laptop’s nonstandard keyboard caused me to have some typos while coding. I decided to use my laptop for the WODs because our professor expects us to code in class where I would not have access to my desktop. Overall, I should be able to increase my efficiency as I spend more time working with IntelliJ.

Real Programmers and their text editors. Source: