Written by nitinpai on August 28th, 2007
What Do You Dream For In An IDE?
I had raised my concerns over using Eclipse Europa in my earlier article in which I had mentioned my discomfort in the use of Eclipse for doing a Java EE web application. For my post I got many comments from various people, some who empathized with me, some who were with me in using NetBeans, some who advised me to use ItelliJ IDEA and some who told me that I was being short sighted. All these comments are precious to me and will definitely help me in seeing in the proper direction.
But these advices will only be useful when I would reach to a proper conclusion as why people flock to a particular IDE. Furthermore, having such wonderful and varied IDE’s in the Java World it sometimes is exhausting to reach to a proper conclusion. So I believe that choosing an IDE especially for a beginner involves the main aspects like”
- GUI which is first and foremost Impression
- Ease of use in development in a RAD project
- Hot Deployment and Version Control
My first impression for an IDE involves the above 3 which are crucial. I would like to make one thing clear in my way of choosing an IDE is that, I choose IDE for RAD activities. This means that I am not fascinated by those IDE’s which involve a learning curve nor the ones which make me looking here and there baffled as to what to do next. If it would have the case for a research project then my tools definitely would have been Edit Plus and Ant.
As an average user, my intentions in using an IDE are simple. It means they meet the basic requirements in order of their prominence which are:
- Auto Completion
- Code Highlighting
- Easy Navigation
- Custom Configuration
Some of the other requirements which would typically suit the Java EE environment are:
- In built Ant Tasks execution
- Switching of servers
- Code Templates
- Syntax usage help, in Auto completion
- Debugging environment
- Auto Build and Deploy
These are the requirements in my mind which most of the developers would think of having in an IDE. Having said that, the main IDE’s which are of knowledge to many are Eclipse, NetBeans and IntelliJ IDEA. I till date have only seen Eclipse and NetBeans and have been comfortable with NetBeans for web applications. One of the comments I got in the earlier post was:
Current release of Eclipse seems very responsive compared to previous releases and the range of technologies it supports is impressive.
I have heard this about a thousand times that Eclipse is powerful IDE and it spans over many technologies. Well sincerely speaking I have just been in the Java field professionally, so I never had the chance to use Eclipse in languages other that Java. But besides that I feel a dedicated IDE to a dedicated field will do a lot better than one IDE for all.
I have worked for sometime in .NET and PHP. For .NET I was comfortable with the .NET IDE and for PHP I had used Zend which was very amazing. The IDE’s in their respective field complement the field to the maximum. This makes me fail to understand the power that people look for in Eclipse since it covers a larger range. Of course multiple IDE’s may seem like a problem but how often do you span multiple technologies in a single project? If that is really the case then I approve of using Eclipse.
One more comment I received was,
An IDE should fit the user and not the opposite. If some people think that you donâ€™t fit eclipse, me I think that it is the problem of Eclipse, not you, classic average user.
I totally approve with this. But yes, I will remain an average user when it comes for frameworks and IDE’s since my work mainly is involved in solving the business needs. I am not inclined to making frameworks nor plugins for which Eclipse would have been beneficial. But since I want to get my work quickly I feel that learning curve in IDE will lead to more problems than solutions. This is the thing which I feel gets resolved in using easy to use IDE’s like NetBeans.
Another comment said that,
Have you tried using the SpringIDE? Be forewarned of an even steeper learning curve. The payoff however is sweet. â€¦. and no, you canâ€™t get that for NB.
Expecting even the minimal configuration to be done by the IDE is asking for too much of spoon feeding, so I never looked for Spring IDE nor any framework specific IDE’s. Because I know that once you have the config files and libraries in place, your application ought to run no matter what! The IDE should not be a hurdle which I my case Eclipse Europa was.
When I worked on Spring in NetBeans, I saw one nice feature in it, which was that, the XML configuration files were all having auto complete features even if the XML files were for Spring specific configuration. This was the case with Hibernate too. The hibernate XML were also auto completed and all I had to do was add the necessary libraries.
I don’t hate Eclipse. In fact I have used it for the maximum time while working on Core Java. It was only when I entered in the Java EE field I got problems working in Eclipse which made me to opt NetBeans. Every person has his own taste. Eclipse users might reprimand me for not liking Eclipse while NetBeans users might appreciate that I use NetBeans. This results in meaningless debates. I want people to choose IDE according to the situation at hand rather than turning into patrons.