Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm curious -- why do you care how many megabytes or CPU cycles some random tool on your computer uses?

Just seems like such a strange thing to say. I've never, for example, preferred one media player over another based on it's algorithmic size, or bought a iPhone app because it used especially fewer screens.

IDEs are just big text editors with a lot of stuff tacked on. I can see, perhaps, wanting to become VIM or EMACS master-of-the-universe, where you've macro'ed yourself to death and the entire planet can be controlled with just a few keystrokes, but for "regular" coding? What is it about an IDE that bugs you?

I hope I didn't sound too critical. I'm just curious. I'll use any IDE anybody has as long as I can type code and compile it. Add in some macros? It's all good. Why in the heck would I want to dive deeper than that unless I had to? Why would I care? Why would, say, Eclipse be any worse or better than EMACs? Or VS any worse or better than Multi-Edit.

I understand there are big fans of various tools. Feel free to jump in here and make your case. I've love to be mistaken. I just think this is like all the hoopla over Git -- it's a tool. I shouldn't be thinking about it very much. If I am it's not a very good tool.



Depending on your machine (this obviously doesn't matter much to someone with a beastly dev box), IDEs like Eclipse or Netbeans sometimes can't keep up with typing speed. This isn't a brag about WPM because I'm not that fast. But the code verification and error highlighting sometimes really slows things down which can result in hair-pulling. The best set up I think is something like Eclim - best of both worlds.


This is the reason why I've developed a dislike for IDEs

What you say is correct, an IDE is just a text editor with a bunch of features tacked on, but those features lead to the environment becoming hungry for resources after every keyboard command you type.

It doesn't surprise me to find Eclipse using 1GB of RAM after a few hours of development.

My main development machine right now is a Macbook laptop, so I have limited resources in terms of RAM (2GB) and processor (2GHZ) and hate to see programs becoming greedy


It would surprise me, as on my Macbook, Eclipse with the default .ini is set to run the JVM with a maximum size of 512M by using the -Xmx512m argument. (I am, however running Eclipse "Classic", maybe the other bundles have larger limits). In fact, it might run a little better if I boosted the amount of RAM available to its JVM.

Maybe someone knows otherwise; but I think it is a fact of life that when you set your JVM to use (say) 1GB and keep a java app open and creating objects for long enough, it will tend to grow to 1GB rather than spend time running the GC.


If you have 2GB of RAM, why are you worried that the program that you basically bought and booted your computer for takes half of it?

Are you sure that it would still use 1GB if you ran a program that needed memory harder?


I have a Windows laptop with the same specs, and I can slow it down pretty easily.

Chrome with thirty tabs -- switching to a tab I haven't looked at in a while sets the disk grinding and brings everything to a halt.

When I start up Outlook, or just click on Outlook after waking up the laptop, there's a couple minutes I can spend getting coffee, because it takes take that long to switch to another program and start using it. (Waiting for Outlook to finish starting up is another few minutes after that.)

Eclipse with fifty or more files open (damn these big Java frameworks) -- grind grind grind every time I switch between views, or at unexpected times while I'm typing.

I wish I knew more about Windows, because when I look at the processes in the Task Manager, their combined memory footprint is well under 2GB, but all my programs become nearly unresponsive while the disk goes grind grind grind grind grind... what the hell is that about?

Whether it's misconfiguration or some spyware crap my company installs on our laptops (I disabled the "backup" feature that just copy files around on the hard drive, but I'm sure there's more) it certainly helps if I keep the resource usage of my programs down.

tl;dr: As long as people are bothered by performance problems, they'll worry about the resource consumption of their tools.


Chrome with thirty tabs

I found it very helpful to actively and violently close down tabs. 4-5 is just about the ideal maximum. I keep a separate lightweight browser, Opera, open to API documentation, and firefox for other stuff. For wifi, I removed the internal one and use an external one. Whenever I need to focus, I close firefox without saving sessions and unplug the wifi.

When I go out to cafes for reading, I leave the wifi at home.


> I keep a separate lightweight browser, Opera

Opera is not particularly lightweight, even compared with Chromium. Check out Midori.


That was an excellent suggestion. It is more lightweight than any other full-functional, graphic browser I have used so far.


Turn off Aero, upgrade your RAM, you're doing a lot of work.


FWIW, I had the same issues on my Macbook with Eclipse and switched over to Netbeans. Feels a bit leaner and has a nicer interface (but also has it's share of flaws).

Now that Sun is no longer I sure hope Netbeans doesn't go down the tubes.


I've found the same issue re screen updates, but I believe the issue its more to do with the well known ui latency of most java toolkits than the resources used by the app. Eg, eclipse may not be placing much load on memory if cpu but right clicking a project still produces an obvious lag before during the dialog on both linux and osx.


you can always turn all that off. I always disable spell check and validations since I really only use Eclipse as a glorified text editor.


I don't see any reason why I would use an IDE as a glorified editor. Either I use an IDE as what it is - a heavy weight environment - or I use a text editor configured down to me needs.

It's true that Eclipse can be quite memory hungry, but if you let it eat some memory, it's features can be fast. Still, the standard configuration of Eclipse is a joke. If you are trying to edit files, Eclipse will hang all the time.

In recent days I play a lot with Vim. Even though I configured it to my needs, it still lags behind an IDE when it comes down to IDE specific features - e.g. search in a project: it's neither as comfortable nor as fast as an IDE in this area. (I'd like to be proven wrong on this feature, because that's the main thing that's bothering me) - But Vim is good in what it is: a text editor. And that's what I'm doing most of the time: editing text files.


Searching in a project: There is a builtin command vimgrep to search through external files, there is also a grep plugin that makes it easier and more versatile.

As well, there is ctags, which basically builds up a list of function calls and where they are in a file. Vim understands tag files by default and will use them automatically. You can then toggle between the function declaration and your current line (useful for searching for functions' and what their parameters are).


If I'm not completely wrong, Eclipse's search is powered by Lucene. On small projects you won't notice a great difference, but on larger projects an indexed search is a great difference.

Does the ctags plugin work for other languages as well, e.g. python, ruby, javascript?


Yes to all three; about 34 languages in totals.

BTW, ctags is a separate command-line tool. Any *nix has it, it is available for Win too.


It isn't about the size on disk or in memory or about the CPU cycles. It's about the complexity of using it. With millions of menus, commands and configuration options modern IDEs are hard to use. The complexity in menus, toolbars and panels is a distraction and uses up valuable screen space.

IDEs are not optimized for the common case. For example adding an interface to your project in visual studio takes the same steps as adding a "ADO.NET Self-Tracing Entity Generator": right click on the project in the solution explorer, choose Add, choose New Item, choose Interface, click Add. At every step in this process you have to choose from a list of about 10 options. So by choosing something else when you're given these options you can probably reach about 10000 different end results. Surely adding an interface is what you want more than 1 out of 10000 times, so why bury it under so many steps?


One reason I don't use an IDE is the overhead in starting it up. I want a text editor to open now.


When I was at Apple, I could build Emacs from source faster than IDEA would launch. As a twenty-year Emacs user, that sort of turned my world upside down.


It was most likely building an index of your source tree or something. IntelliJ starts up fast enough for me and I rarely restart my IDE anyway. IntelliJ stays open on my MacBook Pro for weeks.


> It was most likely building an index of your source tree or something.

He's comparing it to building emacs from source. He's quite obviously trolling: Emacs has 15MB of C source and header files already.

On my machine (2010 15" MBP) a configure alone takes 20s, which is about 3 times the loading time of an empty IntelliJ (no project), and about twice if loading a preexisting (cached) project. A `make` of 23.2 takes nearly 3 minutes. Unless he's trying to launch an IDE with no free RAM or building an already-built soft (or a networked build), his declarations hardly make sense.


Not a troll. The IDEA project contained upwards of 60 subprojects, and the time from clicking the IDEA icon to the availability of the editor was often more than four minutes. On my eight-core, 16GB Mac Pro.


Yes, right...


Tell me about it. TOAD takes more resources to run on my PC than Oracle. Same with Eclipse.

I remember when people joked that Emacs was a memory hog "eight megs and constantly swapping".


There were more:

Eventually Mallocs All Computer Storage.

Emacs Makes A Computer Slow.

About the only one that's still true now is this:

Escape Meta Alt Control Shift.


Only once did I see emacs malloc all of my ram, but it did it on the server and crashed it. No clue what happened, but I barely got top open to see it happen before the kernel panicked.

A once-in-a-lifetime experience though, I start the emacs server on boot so I can start clients much faster, which means it's always running as long as my computer is on, and it's never had any issues other than that one time.


> One reason I don't use an IDE is the overhead in starting it up.

Why? You start it once, the first time you want to start developing. And you never close it until you reboot the machine.

Same as with Emacs, start it, have it enable server-mode automatically, and until you reboot you go through emacsclient.


> I'm curious -- why do you care how many megabytes or CPU cycles some random tool on your computer uses?

Because those megabytes need to load from disk, and those CPU cycles need to cycle. Eclipse has some cool features, but if I have an aversion to loading the thing because it takes literally 5 minutes then I need a better tool. Leaving it always open isn't an option because of all the RAM it uses. I don't want another computer right now either.


have you tried headless eclipse and vim? http://eclim.org/


It's a neat idea, but running eclipse headless doesn't actually help the RAM/cpu cycles question.


Agreed. I love good tools, and I hate bad tools, just like everybody else. But if the tech value index (= time gained by using tool / time spent talking about the tool) < 1, then the tool starts to smell bad.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: