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.
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.
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.
It just updates now, and I export my installation XML and send to people when they want the exact same IDE I use.
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).
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.
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).
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.
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.
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.
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.
In the following seconds, updates are checked and indexes of your open projects are verified and re-run if necessary which takes again <10 seconds on different threads. Your computer may scream momentarily due to increased temperature on all cores if indexes are rebuilt.
If you think that code is not optimized in the last 20 years, you’re mistaken. Many tools from Android Studio to Apache Directory Studio runs on that platform.
Nevertheless, I’ll try to profile its startup tomorrow if I can find the time.
Normally Eclipse IDE is not something like Vim, which you enter and exit 10 times a day. It just lives there and you work with it. 10 seconds in the morning for a tool that big is very acceptable, esp. after considering that everything is instantaneous after that 10 seconds.
First of all, this neither machine's RAM bandwidth is 40GB/sec, nor it has a 7GB/sec PCIe drive. It's a run of the mill, SATA backed system with a 7th generation i7.
Second, JVM is always a heavy machinery to start. The startup CPU utilization is around 600%, dipping to 400% and spiking to 800% at the end, showing some plugin dependency requirements are slowing things down. Also, that's a 20 year old OSGI platform, which runs a ton of interconnected plugins, not a mere text editor. It's in the same ballpark of MATLAB or scientific modelling software in complexity and sophistication.
Lastly, as an HPC admin and develoeper, I live by and die by performance. Computers can do some complex things for humans (e.g.: Floating point number crunching) stupidly fast, but some things which are seemingly simple for us (e.g. understanding language) can be equally stupidly slow and resource hungry.
For me, it's wild to think about complaining for something without investigating and understanding it completely.
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.
Tuning startup heap size could cut upward of 40% off of startup and settling time.
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.
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
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.
In any case, it's a younger product than the offerings in the article.
[1]: https://www.st.com/en/development-tools/stm32cubeide.html
Yeah, but my gripe was about the closing of the article, which mentioned VSCode. I think the author just doesn't know about it.
Eclipse is my DeFacto C++/Python IDE and I'd love to develop a decent Go plugin for it, too. Maybe someday.
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.
I developed Java with Eclipse, but the project I did was not that big when Eclipse was not its prime, and it was in its prime when I was experienced enough to be able to "floor it" in terms of features and project complexity.
Now it's just a blip on the memory usage graph when working with big projects, and way way more efficient than the Electron apps which supposed to do 20% of what Eclipse can do.
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.
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.
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 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 :)
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.
I used it for quite awhile until JetBrains stole my heart, but it was nothing if not bloated, even then.
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.
~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.
Writing rails api with a nextjs ui, anyone got any suggestions on alternative paths i should take?
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.
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.
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.
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.
It's bizarre to now see it described this way.
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.
You will find old rants from me complaining about workspaces metadata, but that problem has been sorted for quite sometime now.
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!
This context is built up based on what part of the code you work on.
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.
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.
User experience matters. Most of user experience has nothing to do with dark mode. Dark mode is pure fashion, and should be prioritized appropriately.
Running m1 sonoma
I do agree intellij is memory hungry with multiple projects open and a variety of languages involved, but RAM is cheap enough (and VMs/Docker/K8s hungry enough) that I just don't buy a machine with less than 32GB anyway, so I give intellij up to 6 GB and never give it another thought.
I don't do much android development, but do find Android Studio to feel clunky and slow at times, guessing because of the heavy integration with Android dependencies and emulation, but not really something I know enough about to comment with any sense of authority.
thank god