I'm wondering why the "meticulous design" still looks like an explosion in a GUI widget factory.
In the screenshots I'm looking at, there are dropdowns inside panels inside tabs inside more panels. There are five tab bars. There are completely unnecessary icons for "cut", "copy", and "paste". There's a "Subversion" menu and a "Git" menu at the same time. There's... a user switcher? I don't even know what that means. The actual code takes up like 40% of the screen.
Is this actually what programmers want from an IDE, or just what they have come to expect?
I think this is unfortunately why people get a bad idea about an IDE.
I don't want a tab or button for everything. I want to primarily write text (i.e. code) but I also want it to be intelligent about what I'm writing - i.e. I want the autocomplete, the parameter hinting, the type checking (i.e. can't use the result of a void method, or can't do string ops on an array etc). I also want the option to have refactor helpers (moving methods, renaming methods, changing argument order, etc).
I've found IDEA (and before that PhpStorm, but it supports less plugins) are generally able to meet that need but you have to be careful about which plugins you install. I want Lua support, that doesn't mean I want a Lua console button in all projects.
Most IDEs can thankfully be trimmed down to look like QtCreator.
I daily write in Xcode and that is very slimmed-down. In fact, Visual Studio developers typically hate it on first using it because there is only editors on the screen as opposed to property panes both sides of the editor!
And I would say that it is ONLY C++ is truly a benefit to QtCreator!! No use trying to be everything to everyone. Plus, C++ is the best language for everything isn't it? (I jest, I jest)
I don't write C++ or even C, so I doubt that's going to work.
Unfortunately the only IDE's which seem to support languages I use and work on OS X are java based, and it seems the best option is IDEA or one of it's siblings.
Customizable? but is it easy? Is there a drag'n'drop for the toolbar buttons? Can the fonts for menus and panel titles be downsized easily?
Also, Eclipse tends to try to do everything in their IDE: Transition an issue, commit, execute a command-line program, browse the database, etc. It's a very different spirit from, say, SublimeText where each program is dedicated to one thing well. It has a lot of impact on the UI, hence the critics "Code is 40% of my screen". I personally prefer IDEA now because it comes with thin shims.
Btw, the HN rules say "No negativity". Just a reminder to be considerate for the Eclipse team.
> Eclipse tends to try to do everything in their IDE
Isn't that the whole point of an IDE? I mean, an Integrated Development Environment, by definition, should have all the tools integrated, as opposed to a text editor which is only one tool in an unintegrated development environment.
I prefer Emacs myself, but if I wanted an IDE, I'd probably go for the one that can do everything I want to do.
Other comments say they prefer the axiom "IDE==awesome autocompletion" (e.g. LightTable) rather than "IDE==Embed all the tools into one window!".
I have worked in IT services companies. They wrap almost a full OS into Eclipse (or WSAD). They have people who don't have a clue about programming [1], they need to onboard them and they do little to upgrade their knowledge. I used to wonder how architects learnt about Git and Maven, until the day I decided not to use IDE buttons, tried them on the command line and discovered "--help". It's all self-documented, output is all logged, I can debug compilation errors alone!
[1] Recruitment and HR is a cost center for consultancies. At one point they just took graduates from Chemistry major with a mild interest in Excel. Needless to say those who stayed became PMs. I've seen millions of euros from government, banks and insurances thrown into multiplying employees, rather than improving employees.
I suspect there are very few programmers who want to click a Copy button on a toolbar with a mouse. Those sorts of tools should be hidden by default, at the very least.
My comment was related to having all tools built into the IDE rather than using lots of different command line (or other) tools, not to the UI buttons.
Assuming it's anything like regular eclipse the UI probably is highly customizable.
It's more like a tiling window manager
You can choose how many of those panels you have and which tabs are in each panel and which buttons you have in your toolbars.
> The actual code takes up like 40% of the screen.
considering that many projects still have guidelines regarding line-length (something around 80-120 characters) there's only so much horizontal space you can utilize. I can easily fit two source files side by side on my monitor and still have room for additional panels.
> Is this actually what programmers want from an IDE, or just what they have come to expect?
The more you can have on the screen at the same time the fewer permutations of arrangements you need for different tasks.
If we are to extend the desktop analogy, it's a work bench with a wall of tools hanging in front of you, every individual tool within grasping distance.
Well, I have 4 source window side by side on my 4K screen -- however I'm still stuck with a 3840 pixel wide console panel at the bottom somehow. WHY? Why do I have to sacrifice all that valuable vertical space for information that is always stacked in the 20% left side of that huge panel?
Mind you it's not just Eclipse, seem every IDE took their cue on how to do stuff from a VisualStudio from the 90's and decided it whas THE way to do it.
I still use Eclipse a lot (and Geany[0], for a lighter editor) -- the Code Indexer is the best I've ever tried. I can index the whole Linux Kernel in there, and it's a real blessing.
> Why do I have to sacrifice all that valuable vertical space for information that is always stacked in the 20% left side of that huge panel?
You don't, hide it via CSS[1]. Entire Eclipse UI is customizable. Install CSS Spy[2] to experiment live before committing changes.
My Eclipse setup actually looks like VIM with split buffers, there is nary a wasted pixel. To get to that point that though (e.g. hiding right side gutters and always-on scrollbars) is a bit more involved, need to take custom plugin route for that.
Their "meticulous design" looks like a bad copy of Visual Studio 2012. It made me LOL a bit.
disclaimer: I was responsible for the shell user interface of Visual Studio 2005 and 2008, but haven't worked for Microsoft for more than eight years or used any version of Visual Studio later than 2008. That said, I'm still rather anti-Eclipse.
I've once tried to look at the source code of Eclipse many years ago. It was by far the most over-engineered thing I've seen in my entire life.
I've since found out about Emacs and the contrast is striking; Emacs being a shining example of simplicity and extreme power while Eclipse is literally bloated boilerplate central in comparison.
This pretty much prevents me from taking anything coming out of the Eclipse Foundation seriously.
"I'm wondering why the "meticulous design" still looks like an explosion in a GUI widget factory."
Yes, the purple and orange lettering on a black background is especially painful.
I'm not sure what to think about a "cloud IDE" yet. It strikes me as the sort of thing which, if it doesn't work perfectly, will break in mysterious ways. When such things break, it's usually necessary to look behind the pretty graphical environment at vast numbers of text files, environment variables, and whatever other state the thing has.
Delicious. I have traumatic experiences with Eclipse from 10+ years ago when I was forced in a uni course to write GUIs in Java. We had 14" CRTs and this IDE cluttered the entire screen, leaving me with a palm-sized field to type code into (I had to scroll horizontally in it to read an entire line of 80 characters). We couldn't customize the panels (the setup was provided by the sysadmin and frozen). I never touched an IDE or Java after it again. Even today I occasionally think back to this time and laugh in horror.
The funny thing is that if you see someone's Web browser and it's as full of toolbars as the typical IDE, you assume that person isn't very good with computers.
"40% of the screen is ok because EVERYBODY should be using dual or triple 4k+ monitor setups nowadays. Anybody who doesn't have 4k+ monitors doesn't deserve the awesomeness in our shiny new IDE." - Possibly what the Eclipse devs are thinking.
I'd typically rather have more information about the file I'm currently working on rather than a bunch of different files open. When I'm using a text editor I'll want multiple text windows, but that's because navigation between files is much harder in that environment.
One can also have multiple views on one file (at least Emacs can) which is another good for having multiple buffers side-by-side instead of one single buffer.
That explains a lot of why I have opted for a customized shell environment over IDEs nearly every time. I learned git once on the command line a long time ago. I have a REPL (Clojure) for prototyping and testing. I like to stay in the headspace of my own direction, without distraction from GUIs that typically try to shove too much canned workflow down my throat.
Those were concept drawings. In the finalized version, all of the panels & tabs are removable. There is a "+" in the tool bar that will let you add / remove any button, menu, panel entry. This is in the 4.0 branch that we are working on.
In the screenshots I'm looking at, there are dropdowns inside panels inside tabs inside more panels. There are five tab bars. There are completely unnecessary icons for "cut", "copy", and "paste". There's a "Subversion" menu and a "Git" menu at the same time. There's... a user switcher? I don't even know what that means. The actual code takes up like 40% of the screen.
Is this actually what programmers want from an IDE, or just what they have come to expect?