As a programmer,
there is no surprise in getting yourself the best IDE available in the market.
IDE stands for Integrated Development Environment. In another words, it is
where your code stays and works its magic. It is the utmost important tool
before anything else that you should care about.
So what is IDE
about? Most college students get used to a few basic IDEs that their schools
provide. These IDEs perform some certain basic tasks such as letting you edit
the code, providing code checking, debugging tools and compiling system. We
could image a usual scenario in which the first ever program "Hello
World" is created. You open your IDE, create a new project, create a code
file (.java), enter your code, and finally click run. Your program magically
appears on screen with the world "Hello World". Your job is done and
now you can get rest. This sounds easy enough to believe that you don't
actually need the IDE. Maybe a text editor would work just fine.
![]() |
| Eclipse IDE Interface |
Now if you look at
professional programmers at work, they always choose to use great IDEs, instead
of a text editor. A great IDE can provide you code hinting and code completion.
These tools help you put your thoughts into code faster and accurately. As years
go by, Java APIs and others have extended their classes and methods way more
that you can remember. Maybe you could remember the 10 most used classes and
look for a class on the official Java documentation. However, doing that
decreases your efficiency. An IDE can help you with that.
![]() |
| Intellij IDEA Smart Completion |
If you want to test
a simple class you just finish, an IDE can help you set up a testing unit of a
particular language for that class. It also provides debugging tools that let
you know which lines of code are wrong. These simple tasks seem easy in an IDE
but takes a lot of time to set them up manually. This is where a great IDE is a
must-have for big companies which prefer test-driven development.
Besides that, an IDE
can provide asset organization which lets you arrange all kinds of assets
inside a project. Some assets might be pictures, videos, and graphic arts. They
also could be audios or external files such as private libraries and APIs. In summary,
an IDE is like an Operating System for your project. Without it, you could
barely function as programmer.
![]() |
| Intellij IDEA Code Checking |
Now, for a Java
programmer, there are many IDEs available in the market. Most notable IDEs are
Eclipse, Netbeans, and Intellij IDEA. Netbeans is quite a nice IDE for
beginners, but as you progress more into programming career, Netbeans is not
powerful enough to handle big project and collaboration between teams. In this
post, let's examine the two popular IDEs, Eclipse and Intellij IDEA.
I will make a simple
table to show you the pros and cons between Eclipse and Intellij IDEA.
Eclipse
|
Intellij IDEA
|
||
Pros
|
Cons
|
Pros
|
Cons
|
| Free | Community Edition is free | Fully featured IDE is paid to use | |
| Open source | Open source for community edition | Proprietary source for Commercial edition | |
| Extensive plug-ins and support for many languages beside Java | Extensive plug-ins and support for many languages beside Java | ||
| Fully support for Android development | Fully support for Android development. Currently the main IDE that Google choose for its coming official Android IDE | ||
| Code hinting | Code hinting and code completion | ||
| Single selection | Multiple selections | ||
| Good debugging tools | Excellent debugging tools | ||
| Fragmented in terms of extensive support for web frameworks | Great support for many web frameworks such as Angular JS, Grunt, Gradle and more. | ||
| Compile code fast | Slow code compilation | ||
| Slow typing | Fast and smooth typing | ||
| Boring and monotonous theme | Many choices for themes | ||
| Run on Windows, Mac, Linux/Unix | Run on Windows, Mac, Linux/Unix | ||
| Good for Start-ups | Good for Enterprise | ||
| Not reliable for enterprise frameworks | Fully support for enterprise framework | ||
| Install version control tools manually | Ready-to-use version control tools | ||
| Very good refactorings | Excellent refactorings | ||
Well, if you need to dig deeper into each IDE, you could give them a try immediately. I would recommend Intellij IDEA since its code completion feature is way beyong any IDEs I have ever tried. But again, it is your choice to get used to Eclipse or Intellij IDEA.
References
Jetbrains.
(n.d.). Intellij IDEA - Features. Retrieved from Jetbrains:
http://www.jetbrains.com/idea/features
The Eclipse Foundation. (n.d.). Eclipse IDE.
Retrieved from Eclipse: http://www.eclipse.org/ide/
Wikipedia. (n.d.). Integrated Development Environment.
Retrieved from Wikipedia:
http://en.wikipedia.org/wiki/Integrated_development_environment





There is nothing quite like a video for demonstrating a point. Great example of the efficiency of IDEs versus simple text editors. I still remember using Emacs for writing IDL code and having to look in books for the correct formatting for a function. Presently I use Spyder for writing Python code and absolutely love all of the built in features. If I pick up Java, I think I'll skip Netbeans and go straight to working in Eclipse. Thanks.
ReplyDeleteYes, Emacs and Vim are still the favourite tools among old-school programmers. I guess it is because they can be easily modified. In fact, the professor in our introductory Java class taught us how to work with Emacs in one of our labs. But I think it lacks certain modern features like code formatting like you said. If you ever decide to work with Java, Eclipse is the IDE to have. But I also recommend Intellij IDEA which I use for everyday programming.
DeleteI love the use of examples and seeing it work in real time like you're watching someone code in front of you. It provides a good example of the advantages of free vs paid for IDEs. The chart provides a good pro/con of the features of each IDE. My question would be, does it matter what IDE someone uses? If someone was trying to get an internship, should they be familiar with both? Is the main thing that separates them ease of use and design?
ReplyDeleteThanks for checking out my post. Indeed, now employers require developers to know at least one IDE. Eclipse is easily the one, of course, since it is free. However, knowing how to use IDE properly can reduce your coding time substantially. For example, I am able to generate constructors, setters, getters automatically within a few clicks. This could take half an hour or so to write manually. So consider that and many more time-saving techniques that a true IDE can bring to you. Ease of use and design might be a good factor to separate them but features are the most important factor. Intellij IDEA comes in-the-box features that you don't want to miss. Try it out!
DeleteI can still remember how I first start writing code...The "IDE" I started with was just a text pad, nothing fancy. And later on when I switched to Eclipse, I was like "Wowwwwwww...This IDE rocks!". I love the code hinting part in particular because you can just scroll down the menu to see what other available methods you can use. I tried to NetBean but never really switch to it.
ReplyDeleteBy the way, I think the .gif image is really cool!!
Thanks Eileen! Glad that you like Eclipse. My first IDE was the Visual Studio. I had to use it for programming in C. It did an ok job, in my opinion. But when I got to know Eclipse, it just blew my mind. Now I'm getting more serious toward IDEs because a true IDE can save you a lot of time. :)
Delete