Any discussion comparing IntelliJ IDEA and Eclipse for Java development can be tricky because it’s sticky. The IDE I mean. An IDE is what we in marketing call a sticky product. Once someone starts using it they stick to it and rarely switch. IDE users turn into something evolutionary anthropologists refer to as “fanboys”. IntelliJ loyalists scoff at Eclipse fanboys, Eclipse fanboys get mad, and once everyone starts naming plugins and waving software licenses around? All hell breaks loose.
It’s no wonder beginners find themselves confused when deciding what IDE to install as their default, after moving up from the world of lightweight student development environments. Should they pick the one used in most tutorials or preferred by their teacher and colleagues? The one with more positive reviews online or with the most users?
To settle this once and for all, we need to look at both IntelliJ IDEA and Eclipse from the perspective of a confused (but objective) junior Java developer with a new laptop.
Considering the subscription costs of the Ultimate edition of IntelliJ (sometimes dubbed “the Cadillac of Java development”), we’re going to assume our junior developer is not looking to spend cash on an IDE subscription license at this point. So in this comparison, we’ll be talking (mostly) about the free version of IntelliJ offered: IntelliJ IDEA Community Edition.
Let’s meet our lovely contestants.
IntelliJ IDEA was released in 2001 by JetBrains, an established company known previously for its Resharper plugin for Visual Studio. The Community Edition, available for free and aimed mostly at Java and Android application developers, offers support of a number of languages including Java (obviously), Kotlin (which was developed by JetBrains), Groovy, Clojure, Scala and others. IntelliJ IDEA includes features like advanced forecasting, code analysis, and smart code completion as well as a selection of plug-ins and extensions to customize the IDE to your needs if you’re not satisfied with its out-of-the-box feature-set.
Released by IBM in 2001, the open source IDE Eclipse was initially created to eclipse Microsoft’s Visual Studio. Since then, Eclipse has become a major platform used in both open source and commercial projects. Highly versatile and flexible, Eclipse was designed to serve the needs of complex enterprise projects and embedded system application development. It offers support for a variety of programming languages in addition to Java, as well as popular frameworks. With a plethora of plugins, thorough documentation and a large developer community, Eclipse has rightfully gained a loyal following.
What Devs Want
At a glance, IDEs are like apples and oranges, if apples and oranges were the base and home for all your future development work. So let’s set some basic criteria, still assuming we’re a Java junior fresh out of programming course diapers.
Both IntelliJ IDEA and Eclipse IDE are free to download and use, with IntelliJ offering a paid version for additional functionality (the “Ultimate Edition”) that we mentioned above. Being a junior developer, free is the perfect price-tag, though it’s important to remember there are other non-monetary costs to “free”. But we’ll get to that later.
IntelliJ IDEA Community Edition is open core, rather than open source, and is covered by the Apache 2.0 license. While this means that you can use the IDE freely for any type of project, it also reflects on the plugin ecosystem as the license does somewhat limit the development of plugins and extensions. However, as a commercial project, IntelliJ IDEA has the advantages of a corporation with a budget behind it, rather than a community-driven non-profit.
Eclipse IDE is fully open source under the Eclipse Public License (EPL) v2 and the code is maintained by a non-profit – The Eclipse Foundation. While having very little implications on the development experience, the open source license of the IDE allows for a more extensive plugin ecosystem, and makes open source supporters feel warm inside knowing they use software developed by the community for the community.
IntelliJ IDEA can be installed on Windows, MacOS and Linux with the following hardware:
- 2 GB RAM minimum, 4 GB RAM recommended
- 1.5 GB hard disk space + at least 1 GB for caches
- 1024×768 minimum screen resolution
Eclipse IDE can run on anything that supports JVM including Windows, MacOS, Linux and Solaris. The hardware it demands is very basic:
- 0.5 GB RAM minimum, 1+ GB RAM recommended
- 300 MB hard disk space minimum, 1+ GB recommended
- Processor speed of 800 Mhz minimum, 1.5 Ghz or faster recommended
It’s easy to see that the minimum requirements for Eclipse are more modest. Since we’re not planning to run an IDE on our smartwatch, it’s safe to assume that even the cheapest computer from the past few years can run both smoothly without breaking a sweat. However, if performance is what you’re looking for, the same hardware might not give you the same results on both IDEs.
Waiting for a build to finish or for a particularly complex piece of code to compile can be a drag. So unless you like to use this time for other fun activities, you probably want your IDE to be as fast and efficient and possible.
Tests performed show that Eclipse IDE is by far more efficient than IntelliJ IDEA in its memory management. However, if you look at the popular Java forums like r/java/ on Reddit you may find contradicting arguments.
Programming Languages & Frameworks Supported
IntelliJ Community Edition supports Groovy, Java, Kotlin, and XML/XSL straight out of the box. You can download and install plugins to allow you to program in: Clojure, CloudSlang, Dart, Elm, Erlang, Go, Gosu, Haskell, Haxe, Julia, Lua, Perl, Python, Rust and Scala. The frameworks supported are Android, Ant, Gradle, JUnit, JavaFX, Maven, Python, SBT and TestNG.
Eclipse is written in Java, so the tools and SDK for Java development are part of the basic installation. However, thanks to it being open source, Eclipse IDE has an immense ecosystem of plugins that will let you program with pretty much every language and framework out-there in one IDE. Currently, with the plugins available on the Eclipse marketplace, it can support over 100 programming languages and almost 200 application development frameworks.
Plugin & Extension Ecosystem
At this time, the Intellij plugins marketplace offers a total of 3,374 plugins, with some of them available exclusively to subscribers to the Ultimate Edition, and the Eclipse marketplace includes 1,668 solutions and extensions for the IDE.
Having gained popularity at an amazing pace, the Community Edition of IntelliJ led to similarly accelerated growth of its plugin ecosystem in the past two years. In addition, with Eclipse plugin interoperability isn’t always promised – your mileage may vary, as it is with many other open source solutions. With IntelliJ IDEA, plugins are better vetted by JetBrains and are less likely to clash with one another.
To an individual developer the selection wouldn’t necessarily depend on the number of downloadable plugins but rather the availability of specific components needed by the developer to be featured in the IDE of their choice.
Ease of Use
When it comes to ease of use, it gets super-hard to judge. No two users are the same, and preference can come down to things like UI customization options or tweakable code completion. Most developers we’ve asked confirm the opinions on the Internet – IntelliJ IDEA is friendlier to beginners thanks to its ease of code completion and inspection.
Another advantage IntelliJ has over Eclipse is that many define Eclipse as more of a collection of plugins than an IDE on its own. So on one hand, IntelliJ gives you what you need out of the box. On the other, if you want to spend some time customizing an environment to your specific needs and tinker with the source, Eclipse is the way to go.
It’s worth noting that many developers claim that the ease of use and intelligent coding support offered by IntelliJ is actually a hindrance in learning and understanding the intricacies of Java programming. Then again, some of these developers recommend unassisted coding in a text processor and compilation in the terminal to force newbies to really know what they’re doing before they lean on automation and AI to do some of the work for them. Bottom line, “good” coding isn’t about right or wrong it’s about realizing that coding languages, and Java specifically, is a living and breathing thing that changes over time.
Therefore, remaining a “purist” will most likely end up leaving you behind the curve. Embracing new trends and best practices will keep you on top of your coding game. Sure, as abeginner you need to learn to crawl before you walk but what is necessary to “crawl” changes continuously. That’s why Codota‘s AI based code completions pulls in code snippets from millions of Java programs and delivers code suggestions right in your IDE, Eclipse or IntelliJ :).
The popularity of one IDE over another should not be your only criteria for choice. However, the size of the community and number of fans among Java developers can have impact on productivity and ease-of-use.
As previously mentioned, Intellij IDEA has had a growing fandom since JetBrains released the Community Edition in 2001 and overtook Eclipse in popularity in 2016. According to stackshare, Intellij IDEA now has more fans, more points on Reddit, but far fewer questions on Stack Overflow.
The Right Tool for The Job
At the end of the day, what matters is not only personal user preference, but also the needs of the project (or projects) our junior Java developer plans to work on in the near future. Though there’s no doubt that IntelliJ IDEA currently has more vocal supporters online, and is gradually overtaking Eclipse in popularity among both new and experienced Java developers, our suggestion to the beginner Java developers is to give them both a try, and see which feels like home.
Published on Java Code Geeks with permission by Ilana Brudo, partner at our JCG program. See the original article here: IntelliJ IDEA vs Eclipse: Which Is Better for Beginners
Opinions expressed by Java Code Geeks contributors are their own.