It’s been a while since I posted last, and a lot of stuff has happened. The most important thing that’s happened, though, is that I’m back at collage, and starting on a computer science degree.
The school I’m going to teaches Java as it’s introductory programming language, and uses Eclipse as the IDE for the class. I don’t have anything negative to say about Eclipse. It’s a great open source IDE if you don’t mind long load times and code completion pop-up windows. However, the teacher I have expresses frustration about said pop-ups all the time. I wonder if listening to him complain is as annoying to me as the various quirks of Eclipse are to him? Last class I decided to ask him what he preferred to code Java in. It turns out that he does pretty much all his programming in Vi (or Vim).
Assuming my instructor was a bit of a masochist, but also realizing that there was going to be future classes at my school that required the use of Vim, I decided to give coding in that command line editor a try. I spent an entire night working on the third CS project for the class in Vim, and only used Eclipse if I got stuck. As it turned out, I didn’t need to use Eclipse much at all. It took some time to get used to the lack of automatic code completion (which lead to a lot of errors early on), but after a short time, I stopped copying little bits of code over to Eclipse for debugging, because everything seemed to work fine in Vim. I must say that, for a command line utility, Vim is really useful.
But, I was still right about my teacher being a bit of a masochist. The project had us writing five separate class files, two or three of which we would need to edit simultaneously to get the program to run properly. That’s not something I enjoyed dealing with in Vim. It wasn’t too hard, but I really missed my GUI file tabs. Even gedit has GUI file tabs for multiple documents. Vim might be a better editor for programming languages that are less likely to require you to edit multiple files simultaneously, but Java doesn’t seem like a good fit.
My basic conclusion is that, if all you have is the command line, Vim is great (don’t talk to me about emacs; I haven’t coded anything interesting in emacs yet), but if you’re coding in Java and have a desktop GUI of any kind running, there are probably better options available, and if you like IDEs with lots of bells and whistles, Eclipse seems great.