Wednesday, May 14, 2014

Switching to IntelliJ..maybe? #intellij #eclipse #java

I am a regular Eclipse user, for almost 10 years now, it is not bad but in these recent years I feel like, I code towards a tool that is insisting on doing it's thing, maintaining it's state, invoking and running stuff that I can not control, on a daily basis.

I have been spending more and more time trying to find, where to disable a validation , an error view or project face.t. My build tool of choice, actually the build tool of choice for many Java projects Maven, was a consistent nightmare when it comes to integration. It was only the latest Kepler release that Maven support was sort of working, even though now I feel like Eclipse, is trying to balance between two worlds. I've stopped using most of the intelligent stuff it offers since it makes almost unusable to work with (specific project facets). Some times (not always) an attempt to install a plugin may result in bringing down the whole IDE, corrupting it's internal property files. Then I have to delete my workspace, the famous .metadata or whatever internal thing and start all over.

So I ended up disabling almost everything, do a quick compile check but when I want to build/deploy etc I switch to command line, fire a couple of mvn commands with profiles and that's it.

A new release is coming out, code name Luna, and to be honest I am following already the M pre-releases, is it going to bring the Eclipse back on track, the track of being fast, reliable and consistent as a Java Development tool? I don't know, I hope so eventually.

At the same time even more people are switching to IntelliJ, they talk about great Java refactoring features and very strong Maven support. So, I think about it.What I want is to write code and if the tools works well with Maven and respects my poms, to invoke it on the fly rather than switching to shell screens. If the tool is smart enough, along with Maven support and can do all these intelligent things without requiring me to search stackoverflow every week, then it might be even better.

I am not asking for smart application server plugins, I have actually stopped believing in these tools a decade ago, I think they are evil and they tie you with the tool more that you should have been. It is sad that even now days many development teams out there do not know to how deploy their app, without any wizard or special menu in their IDE. The reality is that when you go live, in a production environment you can't tell you client 'oops sorry mate, I need to install this version of the IDE along with this server plugin, so I can deploy properly'.

So I think I will give IntelliJ, a try. I can not switch in one day, I will start with my pet projects at home and then  I will use it at work. I don't think I can afford 450$ for a Pro License (even though that this the corporate price, for individuals is 180, thanks Marko.F for the tip), but anyway anyhow I just need to write Java and use the Maven integration, so I think I will be fine with the community one. If this get serious enough, I will pay the price. At the same time I will still keep an eye on the new release of Eclipse..maybe things will change..who knows.

5 comments:

  1. If you need any hints not hesitate to ask.
    Maven with IntelliJ will be a revelation after using eclipse for so longs.

    ReplyDelete
    Replies
    1. Many Thanks Zisi!! I have actually migrated to my work as well, i spent half an hour and found the basics. Currently I am coding on IntelliJ

      Delete
    2. Just remember:
      Workspace =>Project in Intellij
      Project =>Module in IntelliJ

      Delete
  2. A little supporting material for those Eclipse users giving IntelliJ IDEA a try: http://zeroturnaround.com/rebellabs/getting-started-with-intellij-idea-as-an-eclipse-user/

    ReplyDelete