Comment by bayindirh
2 years ago
People still forget Eclipse when it comes to a full-blown yet not bloated IDE. That thing consumes less than a bare bones VSCode install while running 5x the tools. It can handle everything from code to git to CI/CD and remote development since 2013.
I'm using it for 20 years and I think it's the unsung hero of the IDE world.
This article doesn't mention it either as a modern GUI IDE.
There’s a reason people don’t talk much about Eclipse these days and it’s because it was a pain to maintain back when it really should have shone.
I really wanted to like Eclipse but gave up on it a decade ago because it required constant management from release to release. I remember one job I had where I didn’t need an IDE all that often and I would spend nearly as much time configuring Eclipse again upon the next time I came to use it, as I was spending time writing code in it.
I’m sure it’s improved leaps and bounds in that time - 10 years is a heck of a long time in any industry, let alone IT. But I do know I wasn’t the only one who got frustrated with it. So myself and others switched to other solutions and never looked back.
I was there, but it has changed. "Four updates a year" was a great decision to make, to be honest.
It just updates now, and I export my installation XML and send to people when they want the exact same IDE I use.
> I remember one job I had where I didn’t need an IDE all that often and I would spend nearly as much time configuring Eclipse again upon the next time I came to use it, as I was spending time writing code in it.
So basically the same as setting up and configuring a development environment today, except that nowadays it's a lot more centered around the command line and involves a bunch of disparate, half-documented packages/tools from GitHub (and that also inexplicably require 10 to 1000 times more space and clock cycles).
The “I” part of IDE stands for “integrated” whereas what you’re describing is just a development environment without any integration into your text editor.
That all said, I have found VSC to be piss poor for tempting out new projects. And some ecosystems like TypeScript really do need a lot of boilerplate before you can ever start on a “hello world” application.
I used to like Eclipse but honestly it was and still is a hog. At the time i used it in the late 2000s it was basically the best IDE for C++, having features that Visual C++ users either did not have or needed to pay extra for plugin to get. I used it at work then when everyone else used Visual C++.
However at home i had a computer i bought late 2003 (which was a high end PC at the time but still) and the program was so heavy i remember despite running it under a lightweight environment (just X with Window Maker) i had to choose between Firefox and Eclipse because otherwise things would crawl due to the excessive memory use both programs made :-P.
Eventually i switched to other IDEs and forgot about Eclipse. But i did try it recently again and while obviously doesn't feel as heavyweight as it did back then (i'm running it on a 8 core machine with 32GB of RAM so it better be), it still feels sluggish and startup time is still quite slow.
Also TBH i never liked the idea behind workspaces.
These days i don't write C++ much but when i do i use either QtCreator or Kate with the Clangd LSP (which i also use for C).
I think 9 seconds startup time with 1GB of memory use is pretty acceptable for an IDE at the size of Eclipse (just timed).
Considering I'm not closing it down for whole day when I'm using it, waiting for ~10 seconds in the morning is not that bad.
In 2003, Eclipse was at its infancy and was an absolute hog, I agree on that front.
Actually you are not expected to have "n" workspaces. Maybe a couple (personal and office) at most. Project relationships and grouping is handled via "referenced projects".
Kate is an awesome code-aware text editor. I generally write small Go programs with that, but if something gonna be a proper project, it's always developed on Eclipse.
There were a couple things going on in 2003.
First, it was quite common for a company to buy a developer the exact same corporate standard computer as everyone else. So lots of computers had limited ram to run things like J2EE, Lotus Notes, and Eclipse at the same time. It was painful.
The startup was always slow because it preloaded everything. This was a deliberate choice to not load things and interrupt the developer. Just don't close it all day and the experience was very good.
A plus compared to the standard of the day was that it ran native widgets. So doing something as simple as opening a file explorer to browse through your project was considerably faster than comparable IDE's at the time.
Personally, I loved the customization which was dialed all the way up. I could have multiple windows with different arrangements of panels within them, all saved. I haven't run across anything as configurable since then.
It also had the big benefit of their plugin system which shined when working with multiple languages in the same project.
It always felt to me like it became trendy to crap on Eclipse because of the slow startup time and it never could shake that.
> Considering I'm not closing it down for whole day when I'm using it, waiting for ~10 seconds in the morning is not that bad.
I tend to close and run the IDEs (and most programs) multiple times per day - a clean desktop kinda lets me clean/reset my thoughts - so long startup times are annoying. Of course i wouldn't avoid a program if it was responsive, fast and did what i wanted after it started up.
> Actually you are not expected to have "n" workspaces. Maybe a couple (personal and office) at most. Project relationships and grouping is handled via "referenced projects".
Yeah i also had a single workspace but i worked in a bunch of other things, including some Java stuff in NetBeans and i want to have everything in one place. I do use and prefer IDEs but every other IDE could just store projects wherever i wanted.
> I think 9 seconds startup time with 1GB of memory use is pretty acceptable.
9 seconds of startup time on a modern GHz computer is completely unnecessary and unacceptable IMO. There may be 9 seconds of work it wants to do at startup, but there's no way it needs to do it in a single thread before letting you start to interact with it. This is an optimization effort, nothing more. Give me a month with their codebase and I could get that down to under a second. (So could most decent software engineers.) It would just need to be something they actually put effort into.
7 replies →
It wasn’t “a hog” it was the hog. I don’t know where OP gets the idea that it was svelte. IntelliJ is considered a pig and a half in most eras but at the time, for most if not quite all projects, Eclipse had a worse memory footprint, for less functionality.
Also the UX was mediocre at best and infuriating at worst. Practically every interaction worth performing in that editor took at least one more click or keystroke than IntelliJ, and I would rank IntelliJ as merely good, but not amazing with input economy.
For about five years, my daily start of the day ritual was starting eclipse, going to a 10 minute standup, and coming back two minutes before it stopped loading. To be fair, it's probably better now, and I stopped doing Java work in 2014.
Anyone who thinks Eclipse is compact is hallucinating.
what I dont understand about java is why doesn't it just take what it needs? If I commanded eclipse to open, that's it. Open an editor, maybe 2-3 recent files, and let me move the cursor around. If IntelliJ isn't ready yet, so be it, but dont slow my UX down because it's running a bunch of services I didn't ask for. If I hit the IntelliJ autocomplete then fine, I'll wait if it's not ready, but until then, the editor frames should be just as snappy as notepad. Java doesn't put the user first!
One of the biggest tricks with Java IDEs was not giving them more memory, but giving them more initial memory.
Tuning startup heap size could cut upward of 40% off of startup and settling time.
Interesting. I hate Eclipse with a passion, I find the ergonomics so horrendous, and back in the days it was a hog. Maybe on today's hardware it's leaner than webkit based vscode. But the last time I tried to use git with it .. it made things 10x harder than the CLI. It was so bad that I developped RSI in 24h (and I'm a daily emacs user)
It’s possible that Eclipse has had a “Firefox moment” where someone carved it down to a lighter core, but I’ve no reason to check.
Seconded on the ergonomics. They were a joke. Longest inputs of any IDE I’ve ever used. If your sequences are longer than vim you need to get your head examined.
eclipse was a child of the java components era, even a trimmed down eclipse would still have tons of baggage
i really despised (to stay polite) everything about eclipse/java culture.. lots of generic layouts and components, nothing i cared about or bringing me dense information about code. way too much chrome and perspectives and what not. it was a cultural dead end, the people who "enjoy" working this way are on a different axis from me.. give me emacs+magit where things are right under your fingers and easy to extend.. and people using this kind of tools (i'm sure vim/neovim crowd likes that too even more) produce more tools of that kind
Sorry, but "not bloated" really doesn't enter my mind when I think of Eclipse. The few times I used it for Java programming, it took forever to start up, and the UI was laggy as hell during regular use. Granted, that was about 10 years ago, but on a (at the time) beefy Windows PC.
But Eclipse was often laggy and slow. So it felt bloated to the users than VS Code which is snappier even though it is bigger
It was, for C++, for a couple of years, 12-13 years ago. It's neither laggy nor slow for the last 8-9 years. I've written my Ph.D. thesis on it, on C++, which was a sizeable high performance code.
It never crashed, allowed me to work remotely if required, integrated with Valgrind, allowed me to do all my tests, target many configurations at once, without shutting it down even once.
Currently it has a great indexer (which is actually an indexer + LSP + static analyzer and more), LSP support if you wish, and tons of features.
It gets a stable release every three months, comes with its own optimized JRE if you don't want to install one on your system, etc.
Plus, it has configuration snapshots, reproducible configurability, configuration sync and one click config import for migrating/transforming other installs.
That thing is a sleeper.
While Eclipse today is certainly a quite decent IDE, I use it mostly in the form of STM32CubeIDE[1] now, it was servicable at most back in 2005-2006 when I used it for some Java classes.
In any case, it's a younger product than the offerings in the article.
[1]: https://www.st.com/en/development-tools/stm32cubeide.html
1 reply →
Not just C++. I used to use it for Java development and had the same experiences as the GP too.
I’m sure it’s really good these days. But I’ve moved on now and my current workflow works for me, so I don’t see the point in changing it until I run into issues again.
1 reply →
My experience with Eclipse, about 10 to 15 years ago, was the exact opposite. It was incredibly bloated. With some combination of plugins installed, it became unusable. At a previous company, we were using some sort of Scala plugin, and Eclipse couldn't even keep up with my typing! I moved on to IntelliJ around that time.
All of the JetBrains users sitting around comparing notes, trying to figure out what was wrong with our coworkers that they thought eclipse was worth using, let alone defending.
JetBrains has plenty of problems, which they seem to want to address but I fear Fleet won’t fix, and I lament but understand people wanting something lighter these days, but eclipse isn’t even in that conversation.
Additionally, I always felt the whole Eclipse "user experience" was terrible. Setting up a project was a mess. The default layout left a tiny window for code. The default fonts were bad. I could go on.
1 reply →
I (author) wouldn’t say I “forgot” about it. I was there when Eclipse became a thing, and my memories are all pretty grim. Difficult to use, slow, very resource hungry… so I never really paid much attention once I finished school. It probably is better now as others are saying, but I don’t know nor care at this point to be honest.
I started Android development with Eclipse. That IDE is a beast. People also forgot about Netbeans.
Netbeans was my absolute favorite IDE for Java development. After its last release, I honestly felt lost.
I’ve gotten back up to speed via IntelliJ but it still doesn’t feel as effortless as it did in Netbeans. And way less care and feeding than Eclipse.
Sorry, there’s a lot of “feels” in this post but for me, Netbeans was the one Java IDE that I didn’t have to fight with.
What do you mean, “last release”? NetBeans 20 was released just this month. I still use it.
1 reply →
Yes Netbeans was very underrated, I used it for making Nokia ME apps. And learning Java.
1 reply →
My first Java IDE was Symantec Café (which became Visual Café). I haven't thought about that in 25 years.
I also used NetBeans a bit years ago, though that was mainly because it had a (mostly) WYSIWYG editor compared to Eclipse (technically Eclipse had a plugin for that which supposedly was also superior in how it worked - it parsed the code to figure out what the GUI would look like and updated in place instead of NetBeans' generating code with commented out sections you wasn't supposed to touch - but in practice it was both slow and clunky).
For Java specifically i felt NetBeans was faster and simpler though i bounced between it and Eclipse because i also used Eclipse for other stuff (C++ mainly) so unless i wanted a GUI i used Eclipse. I did stopped writing Java some time ago though.
I did try a recent NetBeans build but i found it much less polished than what i remember from before it became "Apache NetBeans".
I have good memories of Eclipse, from back when I was doing Java. I remember at the time it seemed everyone dissed it, much as it feels like everyone disses Jira now and for the last decade, but I liked it.
I think you are mistaken, Eclipse takes up 3 times the ram VSCode does...I can use VSCode using only 6gig ram even with big projects with native code such as kotlin, java, c, swift, etc..Eclipse will not run on 6 gig ram neither will jetbrains or android studio.
My system monitor says it's using 1.3GBs after warming up, and even forcefully reindexing a big C++ project.
I don't think VSCode will use 400MBs with that amount of code, plus electron, plus all the LSP stuff you run beneath it.
In that state Eclipse will fit into a 6GB system just fine. I'd love to try that at a VM right now, but I don't have the time, unfortunately :)
If memory serves, fully loaded Eclipse would take about 20-25% more memory than IntelliJ, which was itself rightfully called greedy.
At the time most of us felt it was worth the cost of entry for all of the tools you got, which eclipse had a subset of.
Eclipse... not bloated. I can't say I understand those words in that order.
I used it for quite awhile until JetBrains stole my heart, but it was nothing if not bloated, even then.
I still love Eclipse, and you can pry it from my cold, dead hands.
The last couple of years, however, it feels like Eclipse is actively getting worse. And I don't mean that it's lacking features. I mean that every new release seems to break something else.
I tried reporting some bugs, but that required signing some kind of soul-selling agreement with the Eclipse Foundation or some other nonsense.
I then tried fixing those bugs, but there is no up to date documentation on how to build the IDE from the myriad of repositories and modules. So I gave up.
VSCode is really a text editor-in-IDE-clothing. Also, it's an Electron app and those are notoriously resource heavy.
~20 years ago I became an early IntelliJ user. From version 3 maybe? It's hard to recall. I've never looked back.
But I did try Eclipse and... I never got the appeal. For one, the whole "perspectives" thing never gelled with me. I don't want my UI completely changing because now I'm debugging. This is really part of a larger discussion about modal editors (eg vim vs emacs). A lot of people, myself included, do not like modal editors.
But the big issue for Eclipse always was plugins. The term "plugin hell" has been associated with Eclipse for as long as I can recall. Even back in the Subversion days I seem to recall there were 2 major plugins (Subclipse? and another?) that did this and neither was "complete" or fully working.
To me, IntelliJ was just substantially better from day one and I never had to mess around with plugins. I don't like debugging and maintaining my editor, which is a big reason why I never got big into vim or eclipse. I feel like some people enjoy this tinkering and completely underestimate how much time they spend on this.
For me, perspectives are perfect, because it provides me a perfect set of tools for everything I do at that moment. It's probably a personal choice, so I agree and respect your PoV.
The plugin conflicts were way more common in the olden days, that's true, however, I used subclipse during my Master's and it was not incomplete as my memory serves. It allowed me to do the all wizardry Subversion and a managed Redmine installation Assembla had to offer back in the day.
It's much better today, and you can work without changing perspectives if you prefer, so you might give it another shot. No pressure though. :)
Trivia: VSCode Java LSP is an headless Eclipse instance.
At a minimum, perspectives play very nicely with the plugins system.
Eclipse was created over that extremely interesting idea that you can write a plugin to do some completely random task, and have all of it reconfigured on the perfect way for that task.
But you can't have a rich ecosystem of plugins without organizing them in some way, and nobody ever created a Debian-like system for them as it's a lot of thankless hard work.
I’ve been using vscode for a few years now and while i find its search amazing, it doesn’t do much more for me. Its syntax highlighting is good, but the auto complete recommendations have been driving me insane recently.
Writing rails api with a nextjs ui, anyone got any suggestions on alternative paths i should take?
This may not apply to you but I find it so weird how many programmers won't invest even a modest amount into software they'll use 8 hours a day every day. Particularly when we'll so easily spend money to upgrade RAM or buy a new PC.
RubyMine on a cancel anytime personal license is $22.90/month (or $229 for a year). That's nothing. I'd say just try it. If you don't like it, you might only be out $23.
I'm not a Ruby person so can't comment on that really. For Java (and C++) it's a lifesaver. Things like moving a file to a different directory and it'll update all your packages and imports. Same with just renaming a class or even a method.
The deep syntactic understanding Jetbrains IDE have of the code base is one of the big reasons I use them.
JetBrains solutions. It think it's called RubyMine.
> VSCode is really a text editor-in-IDE-clothing.
This is kind of my problem with it. I'll use VSCode for typescript but I avoid it if there are other alternatives. The entire model of VSCode just doesn't jive with me.
Eclipse used to be my reference for most-horribly-bloated-IDE....
It's bizarre to now see it described this way.
Eclipse is the first thing that comes to my mind when I think of the most bloated and stodgy IDE on the earth.
Ha. I mostly used Eclipse in college. I learned how to compile programs from the Command Prompt (Windows user back then) primarily to avoid Eclipse LOL. It was dog slow and somewhat difficult to navigate
There does seem to be a lot of hate for eclipse. The complaint I always hear is that it is a pain to use. Personally I’ve always liked it, even though I’ve used the other popular IDEs.
Same here.
You will find old rants from me complaining about workspaces metadata, but that problem has been sorted for quite sometime now.
Agreed. And there's simply nothing that comes close to the power of the workspace when working on multiple projects that share dependencies.
The original idea was to replicate the Smalltalk image approach, but backed by a virtual filesystem instead.
Eclipse is Visual Age for Smalltalk reborn, after all.
It was common to have plugins corrupt its metada, but somehow it finally became quite stable.
A blast from the past there. I used Eclipse for Java in its infancy while I was at university and thought it was decent enough compared to whatever version on emacs would have been on whatever version of Solaris was on my CS department servers.
A couple of years later I started an internship at a bank and spent ~3 hours trying to get a project building before someone introduced me to IntelliJ, which I still use every day almost 20 years later!
I'm shocked to hear you describe it as "not bloated". Eclipse took many seconds to start up, responded slowly to typing, and used huge amounts of memory. It was by far the slowest of any application I had used. I used it when I had to, but never got comfortable with it because it was just way too slow.
I should fire it up, I haven't tried it in a while. It was the only thing I could use that seem to accurately (more or less) index large projects that you, uh, had some issues compiling and just want to navigate around and look through the code. now I mostly just use rg for big projects, inside of neovim
Eclips also had (have?) The very interesting mylyn plug-in which narrows down the code to the context your working within. Think collapsing everything in eg the project tree and also functions within files.
This context is built up based on what part of the code you work on.
Honestly, I feel like the primary reason why IntelliJ "won" over Eclipse and Netbeans was that it was first to market with a decent-looking dark mode. Back when Eclipse and Netbeans were as stark white as Windows Notepad... and caught with their pants down as developers abruptly decided en masse that white backgrounds were over, and every app needed to be dark mode first.
Hell, Eclipse STILL doesn't really have a nice dark mode. The actual editor view looks okay, but the dark mode feels very bolted-on to the surrounding UI.
I think this is the primary reason why VSCode is eating the world today. People will talk about the plugin ecosystem and all these other community inertia advantages. However, VSCode was exploding in popularity BEFORE that plugin ecosystem was in place! If we're really honest with ourselves, we flocked to because it was even more gorgeous looking than Sublime Edit, and without the nag modal to pay someone 70-something dollars.
Appearances MATTER.
JetBrains “won” because of code inspection tools and code completion that was light years ahead of Eclipse and Netbeans. I remember in my Java days I used to be able to do in a keystroke what my Eclipse friends did in a dozen dialogs.
I don't disagree, but my anecdotal experience from working with peers is that the overwhelming majority of IntelliJ users never learn a small fraction of the keyboard shortcuts and advanced tooling.
I really do believe that for most people, IntelliJ is basically a VSCode that: (1) has a better debugger and some more polish around Maven/Gradle integration, and (2) came out 10+ years sooner.
But ~10 years ago, everyone I knew was flocking over because IntelliJ felt less slow and bloated than Eclipse, and its dark mode UI was more attractive in comparison. Then it became the more-or-less official way to develop Android apps (back when Android's U.S. market share was a lot higher), and that was all she wrote.
No, dark mode is a red herring. I used IntelliJ because it had better functionality and wasn't incredibly slow (only somewhat slow).
User experience matters. Most of user experience has nothing to do with dark mode. Dark mode is pure fashion, and should be prioritized appropriately.
I love eclipse, but it's unbearable on macos
How come? I use it regularly. Genuinely asking.
I don’t know. It’s even worse with IntelliJ. IntelliJ crashes regularly. It unbearable.
Running m1 sonoma
1 reply →
How so? Use it daily, with hundreds of open projects and it just flies.
I’ll raise you NetBeans to that.
> People still forget Eclipse
thank god