News for hackers. Stuff that matters.

Ask HN: I'm done with the IDE. What's a good alternative?

To me, the modern IDE has become so bloated these days I dread to even think about firing one open and letting it consume a horrendous amount of resources.

So what's the alternative? People have spoken about Vim and Emacs and all the others, but I'm not very well versed in either. I've been using Vim for quite a while to write simple scripts so I'm used to the commonly used keyboard commands, but I'm still a bit confused about how people use their preferred editor as a full blown development environment. Vim to me seems like an ever expanding series of configuration files and keyboard tricks to get something remotely powerful.

What I'm asking is, what is the alternative to the modern IDE? How have people managed without one? Or do we just have to except the fact that the IDE is something we can never get away from?

( 121 comments | 36 points | on HN )
Re:Ask HN: I'm done with the IDE. What's a good alternative? by DanielBMarkham on Sunday October 03, 2010 @10:19AM (#1752732)
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.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by spacemanaki on Sunday October 03, 2010 @10:32AM (#1752761)
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.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by djhworld on Sunday October 03, 2010 @10:40AM (#1752773)
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

Re:Ask HN: I'm done with the IDE. What's a good alternative? by Someone on Sunday October 03, 2010 @01:43PM (#1753155)
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?

Re:Ask HN: I'm done with the IDE. What's a good alternative? by dkarl on Sunday October 03, 2010 @02:10PM (#1753222)
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.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by mahmud on Sunday October 03, 2010 @04:04PM (#1753478)
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.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by adbge on Sunday October 03, 2010 @06:15PM (#1753778)
> I keep a separate lightweight browser, Opera

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

Re:Ask HN: I'm done with the IDE. What's a good alternative? by mahmud on Sunday October 03, 2010 @06:24PM (#1753803)
That was an excellent suggestion. It is more lightweight than any other full-functional, graphic browser I have used so far.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by mikelward on Sunday October 03, 2010 @05:43PM (#1753699)
Turn off Aero, upgrade your RAM, you're doing a lot of work.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by lyso on Sunday October 03, 2010 @03:20PM (#1753394)
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.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by mthoms on Sunday October 03, 2010 @09:38PM (#1754228)
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.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by nailer on Sunday October 03, 2010 @11:46AM (#1752889)
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.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by stuff4ben on Sunday October 03, 2010 @12:12PM (#1752944)
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.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by topek on Sunday October 03, 2010 @04:30PM (#1753532)
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.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by Nick_C on Sunday October 03, 2010 @09:43PM (#1754242)
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).

Re:Ask HN: I'm done with the IDE. What's a good alternative? by topek on Monday October 04, 2010 @03:16AM (#1754883)
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?

Re:Ask HN: I'm done with the IDE. What's a good alternative? by Nick_C on Wednesday October 06, 2010 @05:20AM (#1763261)
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.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by jules on Sunday October 03, 2010 @10:47AM (#1752791)
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?

Re:Ask HN: I'm done with the IDE. What's a good alternative? by points on Sunday October 03, 2010 @10:43AM (#1752782)
One reason I don't use an IDE is the overhead in starting it up. I want a text editor to open now.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by jfb on Sunday October 03, 2010 @12:22PM (#1752974)
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.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by bokchoi on Sunday October 03, 2010 @05:36PM (#1753679)
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.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by masklinn on Sunday October 03, 2010 @06:00PM (#1753744)
> 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.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by jfb on Monday October 04, 2010 @01:04PM (#1756386)
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.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by masklinn on Sunday October 03, 2010 @05:29PM (#1753663)
Yes, right...
Re:Ask HN: I'm done with the IDE. What's a good alternative? by gaius on Sunday October 03, 2010 @11:12AM (#1752831)
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".

Re:Ask HN: I'm done with the IDE. What's a good alternative? by pjscott on Sunday October 03, 2010 @01:07PM (#1753073)
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.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by leif on Sunday October 03, 2010 @07:12PM (#1753944)
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.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by masklinn on Sunday October 03, 2010 @05:28PM (#1753662)
> 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.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by fragmede on Sunday October 03, 2010 @10:55AM (#1752806)
> 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.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by riffraff on Sunday October 03, 2010 @01:03PM (#1753058)
have you tried headless eclipse and vim? http://eclim.org/
Re:Ask HN: I'm done with the IDE. What's a good alternative? by fragmede on Sunday October 03, 2010 @01:46PM (#1753165)
It's a neat idea, but running eclipse headless doesn't actually help the RAM/cpu cycles question.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by projectileboy on Sunday October 03, 2010 @02:35PM (#1753281)
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.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by jacquesm on Sunday October 03, 2010 @10:51AM (#1752798)
IDE's are a nuisance, but what's a bigger problem is your typical framework that will include a few hundred classes and a few thousand methods and properties.

Keeping that all in your head is a serious effort, especially if you don't work on the same project all the time.

I try very hard to stay away from IDEs and environments that require one to function, but 'modern' looking websites and applications more or less require the use of such frameworks.

So I find myself using the documentation probably more frequently than I really need to, in order to simply look up the names of stuff and I probably am not using the frameworks to their fullest potential because I can only memorize a subsection of them.

Even a 'lightweight' framework can easily come to 100 classes.

So, my toolset: vi + my memory, but it's tough going.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by enduser on Sunday October 03, 2010 @01:34PM (#1753129)
One additional feature that IDEs often provide is tiling different screens around the text editor: debugging windows, REPL, project file hierarchy.

I substitute for this with a tiling window manager (wmii) with very similar keybindings to vim.

My toolset: my memory, vim, wmii, rxvt-unicode-256color

Re:Ask HN: I'm done with the IDE. What's a good alternative? by Swizec on Sunday October 03, 2010 @12:14PM (#1752950)
Personally I use emacs, before that it was Kate (+shell). I only use a miniscule subset of emacs' features and I have no intention of learning too much.

Everything I need from a code editor is the ability to open files in tabs, to syntax highlight any random language I use (on an average day I'll be using up to 5+ different languages) and to understand the indentation style for all the languages to ease indentation. Perhaps some bracket matching and that's pretty much it.

But what I seriously, seriously cannot live without is a HUGELY HUGE area for code. The biggest thing I hate in IDE's is that they tack on so many features and toolbars and crap that at the end I'm left with this tiny code editor that leaves me feeling horribly claustrophobic. Sure, I could close all those toolbars, but then why am I wasting resources on them in the first place?

Another thing I hate about IDE's is how egocentric they are. I don't like conforming to some IDE's idea of what my project structure should look like. And I certainly don't like it when they get horribly confused if I move a file through a normal interface instead of the IDE.

As for "keeping the project in my head" that some people mention as a problem when not using an IDE ... I've never found an IDE particularly helpful in that regard. I've actually never found any added value that an IDE would provide ...

Re:Ask HN: I'm done with the IDE. What's a good alternative? by Roboprog on Sunday October 03, 2010 @01:44PM (#1753159)
Boy, you said it there: "do it my way", as well as the "wait (long) while I start up" that IDEs are so guilty of.

That said, sometimes I use NetBeans (and sometimes I don't). I was using Eclipse for a few years, but I got so tired of the setup and wait. Of course, there is probably a newer, less sucky, version of Eclipse now, who knows.

NetBeans is fast enough on my netbook (Atom, 1.6 GHz w/ 1 GB RAM) for most little projects I tinker with (at least under Linux), and likewise on employer's workstation with real stuff (even using the mandated Windoze). The edit window is mostly responsive soon after start, though it may take a minute for rescan to finish so docs, jump-to-def and autocomplete to be available.

Also, I like that you can undock the edit window in Netbeans, putting it in its own relatively large stand-alone window. Throw in the "vi" plugin, and get to work, referencing the other window full of, um, crap, only when you really need it. I guess I shouldn't call the integrated debugger "crap", but much of the other stuff is :-)

I have some screen shots on my website of several file types, where I have undocked the editor and hierarchy widget. Playable for me, YMMV. http://roboprogs.com/devel/2009.09.html

Also, its easy enough to create a project with "external" (existing) sources, rather than the IDE-p0wned build process. I usually end up creating one (1) IDE project for a given source base, then checking out source for multiple branches and then either resetting a sym-link (*nix file systems) or renaming (MS-brain-death) the top level directory for the branch-of-the-day.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by daleharvey on Sunday October 03, 2010 @12:18PM (#1752968)
touches on a few of the reasons I love emacs as well

ido-mode + tags for navigating my source code, syntax highlighting + indentation for any language I do, pretty much nothing on the screen apart from my code, easy hooks for programming custom functionality

Re:Ask HN: I'm done with the IDE. What's a good alternative? by phamilton on Sunday October 03, 2010 @11:32AM (#1752864)
I'm in a CS class right now and I'm amazed at how useless so many kids are without an IDE.

When I first started taking classes, I tried using eclipse. I decided rather quickly that, especially in a classroom setting, IDEs were a crutch and if I wanted to become a good programmer they would do more damage than good. (Note I said good. That may or may not be the same as productive.) So I started learning vim. Now I can't use most environments. I use Xcode for iphone development, but otherwise I'm just too programmed for vi. I need my commands and macros. GDB works great once you learn it. Valgrind works great as well. And these are available on any *nix machine, all over an ssh connection.

We just had a programming exam where they give you three hours on an isolated machine to build a fairly simple program in C++. Most of the questions and problems people had were that their IDE of choice wasn't working for some reason. Meanwhile, using vim/gdb/valgrind I was done in an hour, long before anyone else.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by pjscott on Sunday October 03, 2010 @01:21PM (#1753101)
In the Real World, though, they'll have an IDE available all the time. So how effective are they with their IDE of choice? That's the question that really matters.

(Long-time Emacs user here. I don't have a horse in this race.)

Re:Ask HN: I'm done with the IDE. What's a good alternative? by araneae on Sunday October 03, 2010 @12:19PM (#1752970)
Blah blah blah I'm so much better than my classmates blah blah blah.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by alsocasey on Sunday October 03, 2010 @02:59PM (#1753336)
news.ycombinator.com/circlejerk
Re:Ask HN: I'm done with the IDE. What's a good alternative? by rbanffy on Sunday October 03, 2010 @11:15AM (#1752841)
I think it all depends on what language/platform/framework you are working with. So far, Emacs has proven a joy to work with Django projects. I started using it on my move over to a netbook, because the screen real-estate is precious when I'm out of the office (and far from the big monitor). I went on and discovered elisp, made a couple customizations on how the editor starts, added a couple key bindings and so on.

OTOH, I can't use it with Google AppEngine projects because the way GAE takes over stdin/stdout, which prevents me from starting pdb/ipdb. For GAE work, I am stuck with Eclipse and Pydev. For me, the biggest nuisance is not the amount of memory/cycles it eats, but the amount of pixels.

What kind of framework you develop for?

Re:Ask HN: I'm done with the IDE. What's a good alternative? by Swizec on Sunday October 03, 2010 @12:16PM (#1752962)
I'm using emacs for GAE projects and I haven't noticed any issues. Django lets you deploy/test from the command line, same goes for Java.

Then again, I do always keep a shell open when I'm coding to run tests and stuff.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by tommynazareth on Sunday October 03, 2010 @01:56PM (#1753188)
I also have no problem using GAE and Emacs. I just run the dev server from the command line and its all good. Make changes to the code in Emacs, refresh the browser, and the changes are there. Where would you run into a problem that'd make you switch editors?
Re:Ask HN: I'm done with the IDE. What's a good alternative? by rbanffy on Sunday October 03, 2010 @03:24PM (#1753399)
I often use pdb/ipdb.set_trace() in the code to stop the server and inspect stuff during execution. How do you do that with GAE under Emacs?
Re:Ask HN: I'm done with the IDE. What's a good alternative? by alinajaf on Sunday October 03, 2010 @03:00PM (#1753341)
> Vim to me seems like an ever expanding series of configuration files and keyboard tricks to get something remotely powerful.

I used to feel this way but I hated Eclipse enough to push through and get past it. Once you get over the barrier of learning how .vimrc works, vim documentation and a few choice plugins, it becomes extremely hard to even begin to consider using other tools. Some IDE-like things I can do with vim and its various plugins that aren't normally quoted:

- jump to a file in a codebase by typing in a smattering of chars in its filepath and hitting enter (using CommandT) - jump to a method definition from a call to it (using ctags). - Rsync a directory up to a remote server on save (`using autocmd BufPostWrite :!rsync blah` in .vimrc)

Its taken me a couple of years of use and a lot of time figuring out vim, but at the end of I have a lightning fast dev environment with similar features to the big IDE's customized to work _exactly_ how I want it to.

If you'd prefer something that has all of that turned on by default and doesn't require as much effort to get up and running with, you're probably better off figuring out how to speed up your existing tools than moving to something else wholesale. A lot of rails developers like TextMate as an editor with a nice gui and some IDE bells and whistles, but I've never tried it.

As a side note, I sincerely believe that emacs is a comparably awesome environment to work with, but I don't think I will ever try it. I've got things so cushy in vim that its more or less a solved problem for me.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by bsaunder on Sunday October 03, 2010 @09:59AM (#1752713)
If you stick with vim or emacs, you may want to check out ctags (or etags), to help you with some of the functionality you normally get in an IDE. IMHO, when you go the non-IDE route, you will forgo some features you are used to and satisfy those needs with alternative mechanisms. This is my personal preference. It's a bit of a learning curve, but I think you end up with a much better understanding how your code fits together.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by dkarl on Sunday October 03, 2010 @01:09PM (#1753079)
Personally, I use emacs, and that's what I would recommend, but here's a more interesting idea:

Eclipse is built on an application platform called Eclipse RCP. A minimal Eclipse RCP app is just a window with nothing in it. No menus, no editors, no file browsers, just a blank window. (I'm not even sure you need the window these days.) You could start with that -- call it Zeroclipse -- and build up what you wanted. Want a text editor? Add in the Eclipse text editor. Don't like it? Change it; disable and rewrite whatever features you want. Want it to parse and colorize your code? Find that feature and enable it. Write your own keyboard bindings from scratch.

Want refactoring support? Add that plugin and provide some key bindings or menu items. Don't want it? You'll never see it. Even better, the refactoring support will never get loaded and won't even get deployed with the application.

Your IDE (if you want to call it that) will consist exactly of the features that you enabled or implemented. If you think an IDE should be a big code window plus a pane to the left cycling through readouts of cyclomatic complexity, the latest sports scores, and tomorrow's weather report, you can have that. If you want it to track the time you spend typing, or the time you have each file open or focused, you can do that, too. And if you don't want it to constantly recompile your code while you type and pester you with autocomplete suggestions, it won't.

This won't be a fun little weekend project. Eclipse RCP is a huge system that takes a lot of time to get oriented in. But I bet you'll learn something about your development process. A hundred hackers doing this would probably discover some pretty radical and useful ideas.

HNers should chime in with suggestions about alternative IDE platforms to build on. Just don't say emacs....

Re:Ask HN: I'm done with the IDE. What's a good alternative? by tezza on Sunday October 03, 2010 @01:24PM (#1753105)
I have a lot of experience developing RCP and Eclipse extensions.

The architecture is modular, but there are many many dependencies for most things

JDT will bring in most of

  org.eclipse.ui
  org...equinox
and their siblings.

That said, I love Eclipse IDE and think the OP is whining too much.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by spacemanaki on Sunday October 03, 2010 @01:54PM (#1753183)
As far as I can tell (only a begrudging Eclipse user) what you are suggesting is similar to what Eclim does - use Eclipse as a backend for validation and project management but use vim as the editor.

http://eclim.org/

Re:Ask HN: I'm done with the IDE. What's a good alternative? by points on Sunday October 03, 2010 @10:42AM (#1752779)
I use textmate + shell. Once you get rid of all the crap in textmate - bundles, auto insertion of closing brackets etc, it's actually a usable editor.

The main thing is just to get good at using the shell. Grep, awk, etc etc With all the tools at the cmdline, you can do anything.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by koenigdavidmj on Sunday October 03, 2010 @12:18PM (#1752966)
Unix was the first IDE, they say.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by riffraff on Sunday October 03, 2010 @01:08PM (#1753078)
> With all the tools at the cmdline, you can do anything.

only if your definition of 'everything' is limited, all the refactorings in a half-decent ide are quite hard to get right with awk & sed. For what is worth, even something as simple as finding all elements in a type hierarchy are quite unobvious to do with shell tools for me.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by points on Sunday October 03, 2010 @01:23PM (#1753103)
I think if you write good code the case for needing advanced re-factoring tools is minimal. If you're writing the same thing time and time again, that should ring alarm bells.

FWIW, for other types of refactorings (I mainly use Java):

  1. Change the name/type of something
  2. Compile
  3. Work through the errors fixing stuff it broke
Maybe that's less efficient than using some IDE tool to do it, but it's not like it takes a long time.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by ewjordan on Sunday October 03, 2010 @03:14PM (#1753375)
Let's talk again when you're dealing with a codebase with >1000 classes, 5 different programmers of varying ability that you don't have direct control over, a build process that takes 5 minutes to complete as it works its way through a dozen different complex tasks with dependencies on just as many external tools and servers, and you need to do one of these simple "rename" factorings right now because a colleague made a spelling error in a widely used internal method that's about to be promoted to a part of a public API. I guarantee you'll start to question whether change/compile/fix is the right approach to these things...
Re:Ask HN: I'm done with the IDE. What's a good alternative? by points on Sunday October 03, 2010 @03:23PM (#1753397)
In that case I'd just write a simple shell script :/

But thank god I don't work on large systems like that.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by riffraff on Sunday October 03, 2010 @01:38PM (#1753137)
well, if I was so good to get code right at the first time, I would not need refactoring at all. Alas, I'm not :)

I agree that, all the things you can do with automatic refactoring you can do with a change/compile/fix loop, but it imposes an higher amount of friction, which (even in a subconscious way) pushes you into not making changes.

As a ruby and python dev using vim, I can even feel this in changing a single method name (with sed, obviously not syntax aware), as a java one without a supporting ide I'd seldom venture in a "extract superclass and use it where possible as return value" kind of change.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by points on Sunday October 03, 2010 @02:12PM (#1753229)
Sure, maybe I like that friction. If a refactor is going to be a bit of hassle, it makes me think about it more, and evaluate if it really is a good change to make.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by silentbicycle on Sunday October 03, 2010 @05:45PM (#1753703)
That's because many of the people who build those tools have coupled them to an IDE, rather than making a standalone tool that could be made to work with any editor with a little effort. And while it would be changing files without the IDE knowing, version control systems run standalone and modify file currently being edited, too - it's not a problem when you expect it.

A standalone tool can either do static analysis (like a tag index, but more so) or communicate with the language runtime, and just leave the UI to the editor/IDE. Either way, it doesn't need to be in sed & awk.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by rsayers on Sunday October 03, 2010 @10:22AM (#1752743)
Vim or Emacs, it doesn't really matter. Users of both will tell you that their editor is best, but if one was really better, we probably wouldn't be having this discussion after so many years.

I personally picked emacs for a number of reasons, you seem to already be familiar with Vim so that might be best for you.

Print out the cheat sheets, and get to work. It's terribly frustrating at first, but you'll be off the sheets in no time. After a month of steady emacs use I could not go back to anything else. I have to use Eclipse at work from time to time and I find the experience maddening; having to use keys like Page Up, Page Down, Home, etc. Emacs lets me do all that and more without ever leaving the home row. I'm sure Vim is the same way.

Pick one, learn it, love it... just don't become a zealot :)

Re:Ask HN: I'm done with the IDE. What's a good alternative? by narrator on Sunday October 03, 2010 @12:35PM (#1753005)
Vim used to have an edge when emacs was viewed as "bloated" for using 8 megs of ram, but now that's pretty negligible. On big projects I can get eclipse to use more than 2 gigs!
Re:Ask HN: I'm done with the IDE. What's a good alternative? by silentbicycle on Sunday October 03, 2010 @12:43PM (#1753027)
As a data point, my Emacs session is currently taking 75 mb RAM (on a 64-bit system). It's been up for a few weeks. That seems pretty typical.

While it's common to start and stop vi(m) frequently, Emacs is usually kept running, with shells, interpreters, etc. inside it. The start-up cost of loading lots of extensions amortizes over the total session. (And it just took about seven seconds for a new Emacs to start and load everything I use, FWIW.)

Re:Ask HN: I'm done with the IDE. What's a good alternative? by PKeeble on Sunday October 03, 2010 @03:45PM (#1753438)
The modern IDE is chock full of features. So many that many less common edits are automated if you know the right keystrokes. It takes years to master all of the features and those features are constantly expanding month on month.

An IDE like Eclipse can take 1 GB of RAM to run on a decent sized project. Not only that but it will happily consume 4 CPUs as it verifies the code, and it'll only reach its full potential of resource usage on an SSD. But 1GB of RAM is less than £20, a quad core around £80 and a decent dev SSD for less than £200. Compared to the time cost of learning another tool this is absolutely nothing. Those tools in your IDE are there to save you time and a bit of hardware to be able to use those features quickly is worth every penny for the hours they save you.

Learning your IDE well matters, the resource constraints are easily fixed with minimal cash outlay. The difference between a MB and a GB for your editor is irrelevant when the difference is such a vast array of features and plugins which can save a lot of time.

Emacs and vim have a place in the world but an IDE is a vital part of a modern development set-up because of the productivity it brings. If you are going to develop software seriously make sure you buy hardware capable of doing it so you can use the best tools at hand.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by aeden on Sunday October 03, 2010 @08:39AM (#1752617)
What language are you developing in? I think that some languages (like Java and C#) really require an IDE to be effective, whereas others (like Ruby and Python) do not require an IDE.

Personally I do mostly Ruby development, so I use VIM plus a host of plugins that are Ruby-specific. If you develop in another language then there are probably a host of plugins that make that language easier to work with.

In general though you are correct that you will have to tweak more to get VIM or Emacs to work for you - an IDE is essentially an environment that has already been tweaked for you.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by djhworld on Sunday October 03, 2010 @09:26AM (#1752671)
I think this is where the problem lies, a persons Vim configuration is personal to them and their needs, there's so much disparate information out there I'm finding it difficult to say "this is a good configuration for Ruby, this is a good configuration for Python"

It would be good if there was some sort of package you could download that sets up your development environment (Vim + plugins + configuration file) for a particular language.

At the moment it's just a personal preference and I'm finding it difficult to find what's useful or not

Re:Ask HN: I'm done with the IDE. What's a good alternative? by dasil003 on Sunday October 03, 2010 @11:43AM (#1752880)
There's not too much of a problem here actally. All these plugins are supplemental functionality. Vim is an amazing editor by itself. Master that and then enhance it with a few plugins here and there for the particulars of your workflow.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by bmj on Sunday October 03, 2010 @11:09AM (#1752828)
I've done stacks of Java programming in gVim, and, yes, I had to look up some of the APIs, but for the most part, it was just fine. Using Ant allowed my just use the shell to build.

For C#, I don't mind VS2010. My laptop handles it just fine, though, yes, it's a bit slow on start-up, but once it starts, I can just leave it open for days and days. I do, however, use the VIM extension.

For all other stuff (Perl, ColdFusion (really), Javascript), I use gVim.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by points on Sunday October 03, 2010 @10:45AM (#1752786)
> "I think that some languages (like Java and C#) really require an IDE to be effective"

I've never understood that statement (I've programmed Java for 10 years, using a text editor). I think I'm effective.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by Someone on Sunday October 03, 2010 @02:11PM (#1753227)
Java and C# are easy to parse. That makes them tooling-friendly. That, in turn enables the development of reliable, fast tools for refactorings.

For better or for worse, most of that tooling is implemented as an IDE command/plugin. Command-line refactoring tools are way rarer. For example, <http://stackoverflow.com/questions/704062/are-there-any-open...; was asked a year ago, but the top answer lists software that, according to it's website, was Last released seven years ago.

So, IMO, that 'require' may not be absolute, but it certainly is pragmatic.

What makes you think you are effective in Java? Do you know what you are missing?

Re:Ask HN: I'm done with the IDE. What's a good alternative? by points on Sunday October 03, 2010 @02:32PM (#1753275)
Most languages are easy to parse.

The argument I've heard many times before is that you must use an IDE with Java because Java is overly verbose.

I'm effective in Java in that I achieve what I want to achieve. The bottleneck has never been speed of typing/refactoring etc.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by Someone on Monday October 04, 2010 @01:53AM (#1754739)
That depends on your definition of 'easy to parse'. For C and C++, you have the #include problem, macros whose definition isn't known until one calls the compiler. perl cannot be parses at all; there are cases where you must run a program to find out whether x is an identifier or a fiction name.

For Java, you can take a function in isolation, search its source file for import statements, and tell me what the variables, statements and expressions are. C# was in the same boat, but with LinQ, I think it gave up that idea. Now,

Re:Ask HN: I'm done with the IDE. What's a good alternative? by chromatic on Monday October 04, 2010 @02:51AM (#1754836)
perl cannot be parses at all; there are cases where you must run a program to find out whether x is an identifier or a [function] name.

Nonsense. A very small category of behavior exists where static parsing of Perl 5 cannot determine whether a given program is valid. That's all. It's possible to write a pathological program which has two valid and working parses, but I've never seen it and it's an intellectual game, not a trap waiting to snare an unwary programmer.

(I have no idea what "an identifier or a function name" means, as Perl uses sigils to distinguish between variables and function names.)

See http://www.modernperlbooks.com/mt/2009/08/on-parsing-perl-5.... for details.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by RodgerTheGreat on Sunday October 03, 2010 @01:06PM (#1753068)
When I'm coding in Java, I generally just use TextWrangler (on OSX) or kate (on linux) as my editor, and commandline tools like ant and git to manage everything else.

I think C# needs an IDE like VS more than Java, if only because it doesn't have a standardized high-quality documentation tool equivalent to javadoc. For many .Net libraries, intellisense is the only source of documentation, and MSDN docs are rarely very helpful.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by barrkel on Sunday October 03, 2010 @05:02PM (#1753607)
I find msdn docs far better than javadocs. YMMV.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by evo_9 on Sunday October 03, 2010 @02:38PM (#1753288)
Not necessarily - monodevelop is an excellent IDE for use with C#/mono.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by RodgerTheGreat on Sunday October 03, 2010 @04:40PM (#1753556)
Nice to know about monodevelop, but I don't see how that refutes my point about C# needing an IDE.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by wccrawford on Sunday October 03, 2010 @08:34AM (#1752605)
An IDE is just a bunch of other programs combined. It's a text editor at its heart.

So use a text editor (any one) and then compile your code, commit it to the repository, etc etc from the command line. Or using other tools.

Or, realize that IDEs are designed to combine all that together and you'd rather have it do the work instead.

Personally, when coding languages that don't need to be compiled, I use Vim/GVim/MacVim (depending on what system I'm on) and the command line for everything. For languages that need to be compiled, it's just easier to use the IDE.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by hrabago on Sunday October 03, 2010 @10:22AM (#1752741)
> It's a text editor at its heart.

While I mostly agree that this is true, the best IDEs allow you to get your thoughts on the screen much quicker. This goes beyond allowing you to type faster.

When I'm writing code, I find that a lot of times, my mental "stack" can grow deep, especially when you try to write code with smaller methods. I start to write method A, which has a section I extract into method B, which has logic in method C, but slightly different. So I start refactoring method C, etc.

A good IDE allows me to accomplish all these much faster, including updating all reference to the refactored method C, while still keeping track of my train of thought, allowing me to go back to method B and remember what I was trying to do there, then back to A.

It's been said a lot of times here in HN that most of your time writing programs isn't spent on typing code, and that's true. However, once you do start typing, a good IDE can help quickly get your thoughts converted to correct, compilable code (proper reference names included), and I find that it helps a lot.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by djhworld on Sunday October 03, 2010 @09:28AM (#1752672)
I agree that the convenience of a quick keyboard shortcut in an IDE is really effective for quickly compiling+running a piece of code, but I'm just wondering if anyone has found any tips and tricks to do this without the need to use an 'established' IDE
Re:Ask HN: I'm done with the IDE. What's a good alternative? by ximeng on Sunday October 03, 2010 @11:02AM (#1752817)
In vim use :make to run make in the current directory. You can browse through errors using :cn and :cp ("quickfix"). Finally use :!program to run your program. You could fairly easily map keys to do these.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by scott_s on Sunday October 03, 2010 @03:17PM (#1753385)
but I'm still a bit confused about how people use their preferred editor as a full blown development environment.

I don't. That's the point. An "IDE" is an "Integrated Development Environment." That implies that everything you need is part of the IDE itself. If you don't use an IDE, then the editor is not a "full blown development environment.*

I use vim, but my "development environment" is Unix. Well, bash on a Linux box to be more specific. But all of the tools I need are available from the command line.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by lusis on Sunday October 03, 2010 @08:41AM (#1752622)
I only fire up an ide when I need to step through code with breakpoints and watch variables. The rest I do in vim. It depends on the language a lot in how functional you can be without a full ide.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by hga on Sunday October 03, 2010 @09:08AM (#1752653)
Bingo. I started long before there were IDEs and quickly gravitated to EMACS. When I last used an IDE (VC++/VS) I used EMACS for my editing and it for building (compile and link) but mostly for this type of debugging.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by wglb on Sunday October 03, 2010 @09:56AM (#1752708)
I have come to the conclusion that IDEs are overrated. I did exactly what hga notes otherwise here when I used Visual Studio--I edited with Emacs, compiled and built with VS.

I now use Emacs for everything. It has just enough pieces to be able to configure the task you want to do. In particular, I make heavy use of key mappings, for example, F11 to the compile command, which defaults to "make -k -f Makefile".

VIM is highly configurable--several at work use it. Two of our more experienced guys use Pico.

Check out "Coders at Work" to see what the truly serious programmers of our time use for IDEs. Short form, none.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by gaius on Sunday October 03, 2010 @11:13AM (#1752838)
I believe Emacs already had that bound to C-c C-c by default.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by pjscott on Sunday October 03, 2010 @01:25PM (#1753107)
Emacs has all sorts of things bound to C-c C-c, depending on the mode. It's common enough that it's worth checking what it does in the current mode (With C-h C-k C-c C-c, of course).
Re:Ask HN: I'm done with the IDE. What's a good alternative? by silentbicycle on Sunday October 03, 2010 @01:45PM (#1753160)
First off, it would be "C-h k C-c C-c", not "C-h C-k C-c C-c" -- "C-h k" runs describe-key on the next shortcut typed.

Idiomatically, "C-c C-c" usually means something like "commit" - send an e-mail, compile source (by starting make), etc.

C-h m (the mnemonic is "help,mode") lists all the bindings for a give mode.

Also, pressing a prefix followed by C-h (i.e., "C-c C-h") defaults to listing all keybindings with that prefix. (Sometimes there are bindings replacing that, though, like "C-x C-h", which is delete-region.)

Re:Ask HN: I'm done with the IDE. What's a good alternative? by pjscott on Sunday October 03, 2010 @02:27PM (#1753261)
The funny thing is, I definitely would have typed "C-h k" in emacs. The hard part is trying to translate from muscle memory back into a string I can write down on HN.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by djhworld on Sunday October 03, 2010 @10:41AM (#1752778)
Coincidentally I'm reading "Coders at Work" right now and it somewhat inspired me to write this post!
Re:Ask HN: I'm done with the IDE. What's a good alternative? by rodh257 on Sunday October 03, 2010 @05:42PM (#1753693)
I'm a total newbie to Emacs - where can I find it for Windows, the last few times there have been an 'IDEs suck!' post on hacker news I've gone looking for it, and have found different versions, and dead links. What version do you use and where did you get it?
Re:Ask HN: I'm done with the IDE. What's a good alternative? by eccp on Sunday October 03, 2010 @11:47PM (#1754537)
See http://www.emacswiki.org/emacs/CategoryWThirtyTwo for a discussion of versions of Emacs for Windows.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by gsdefender on Sunday October 03, 2010 @09:13AM (#1752657)
Stick with vim, it's just a matter of finding what plugins suit you best. I'm no expert, but I am slowly building my environment: http://hg.emanuelecipolla.net/dotfiles/src/ if you wish to browse it.

P.S. I would like to know if someone spots mistakes or suggest enhancements, thanks :-)

Re:Ask HN: I'm done with the IDE. What's a good alternative? by djhworld on Sunday October 03, 2010 @09:38AM (#1752686)
Hi thanks for posting this.

I don't mean to be rude but to me this folder is just a collection of your configuration files. What I really want to know is what your configuration is, what changes have you made to make your environment usable and useful to you?

Re:Ask HN: I'm done with the IDE. What's a good alternative? by merijnv on Sunday October 03, 2010 @11:13AM (#1752839)
I've been using Vim for about 5 years now. I started because I needed an editor that supported syntax highlighting and auto-indent to work on the university servers over SSH.

It took (still takes) a lot of time to learn Vim. At first I used it as notepad with syntax-highlighting with auto-indent. That is, I immediately entered insert-mode and kept in there for as long as I could. But slowly I've started to learn myself how to truly use Vim. Nowadays I try and exit insert mode as quickly as possible (sometimes after typing just one or two letters).

Every once in a while I stop and reflect on things I do very often, look up ways to do them faster and then try and train those ways to be a habit. I learned most of these things from Bram Moolenaar's presentation "Seven habits of effective editing" (http://www.moolenaar.net/habits.pdf and http://video.google.com/videoplay?docid=2538831956647446078) most of this talk probably holds for emacs too.

Examples: when I need to rewrite a function arguments nowadays I just type "ci(" which does Change Inner parenthesis, it deletes all text between the enclosing parenthesis and puts me in insert mode to start typing. If I need to move more then 5 lines down I use incremental search instead of arrows/hjkl to move around. If I need to move to the end of a line I use $ (goto end of line) or A (append after end of line). If I need to go to the middle I'll use other shortcuts.

Vim has billions of ways to move around and select text for editing. Learning to use those relevant to your way of working is crucial if you want Vim effectively instead of annoying form of non-modal editor.

As for making Vim useful to you, I don't think anyone can tell you how to do this. You need to make it fit your style of working. Which means, trying, figuring out what bothers you and steal what works from others. Most of these example .vimrc's that people post do not include comments on what the options do, which makes this hard. I commented mine but it is rather sparse and I don't have a place to dump it at the moment to show you, unfortunately.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by tdfx on Sunday October 03, 2010 @03:26PM (#1753406)
When I first started with vim, I immediately downloaded every possible plugin I ever thought I'd ever use, along with a bunch of complicated scripts that I added to my .vimrc, with hundreds of different options I copied from others' .vimrc files.

As I learned vim, I learned to appreciate its simplicity and now keep my config at the minimum possible deviation from default as I can tolerate. My .vimrc is fairly spartan (http://github.com/tomhsx/homedir/blob/master/.vimrc) and the only plugins I use are ctags, pyflakes, and shortcuts for F6/F7/F8 to debug/execute python scripts.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by younata on Sunday October 03, 2010 @11:41AM (#1752876)
I'm curious.

I've been using vim for not that long (but long enough that it's now my main editor). What all shortcuts exist for getting to the middle of a line?

Re:Ask HN: I'm done with the IDE. What's a good alternative? by vilya on Sunday October 03, 2010 @12:30PM (#1752993)
You can use repeat counts with the cursor movement commands. For example, 40h will move your cursor 40 characters to the right; or 5w will move it forward 5 words.

Alternatively you can use the search commands, '/' (forward search) or '?' (backwards search) with the text at the middle of the line as your search string.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by eel on Sunday October 03, 2010 @12:27PM (#1752983)
You can use 40| to go to the 40th column of a line. I typically use e or b to jump by words to reach the middle of a line. You can also 5e to jump by 5 words for instance too.

I would be curious to know if there are other shortcuts for doing this too though.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by tdfx on Sunday October 03, 2010 @03:13PM (#1753372)
I find myself using fX (find character X) often, where X is a character at the position I want to start editing.

When I'm editing string parameters of a function I'm calling, I use di' / di" a lot (moves to first ' / ", deletes inside content, and drops to insert mode).

Re:Ask HN: I'm done with the IDE. What's a good alternative? by randallsquared on Sunday October 03, 2010 @12:32PM (#1753000)
gm jumps to the middle of the screen in the current line.

[Edit: here's a nice cheatsheet of them: http://www.digilife.be/quickreferences/qrc/vim%20quick%20ref... ]

Re:Ask HN: I'm done with the IDE. What's a good alternative? by gsdefender on Sunday October 03, 2010 @12:37PM (#1753008)
I don't feel you were rude at all; you have only stated the truth as it is :-)

I posted that link as a suggestion to browse the relevant parts (.vim/ and vimrc) as they are the result of a Vim newbie quest through several content on the Internet describing how to get some of the most requested features from IDEs (for example, intelligent completion) working with Vim.

As you might see from my .vim/bundle, I use relatively few plugins; they are pretty standard things like a file browser (NERD Tree), except for the custom "plugin manager", Pathogen, that I found as a reliable alternative to Vimballs and the like.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by s2r2 on Sunday October 03, 2010 @08:46AM (#1752630)
Good moment to give Acme a try, probably:

http://swtch.com/plan9port/

http://acme.cat-v.org/

Re:Ask HN: I'm done with the IDE. What's a good alternative? by konad on Sunday October 03, 2010 @04:51PM (#1753585)
It's the best, better on Plan9 but still good as a Unix app

Don't forget Acme-Sac for windows http://www.caerwyn.com/acme/

Re:Ask HN: I'm done with the IDE. What's a good alternative? by frou_dh on Sunday October 03, 2010 @10:06AM (#1752722)
I feel TextMate is the best middleground between classical editors and the modern IDE.

It's a modern editor with as much IDE as you care to add.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by primigenus on Sunday October 03, 2010 @01:41PM (#1753147)
The problem is that there are so many IDEs that try to do everything for all these different paradigms. Visual Studio and Eclipse, for instance, both try to be your go-to place for server-side development (often in multiple languages), front-end stuff (HTML, CSS, Javascript, Silverlight, etc) and then they're also attaching process-related stuff like various forms of testing, collaboration, code reviewing, deployment, release/build management etc. They're also platforms, supporting plugins or add-ins that means they have to be highly configurable and expose plenty of their core structure as APIs. That kind of design is going to lead to overhead in places.

I'd like to see people start designing smaller, nicher editors that solve a few problems well. Make me a great C# editor that does that and debugging but nothing else. Build me a great editor for web apps that takes modern web app design challenges into account (none of the IDEs do).

And don't just say it, do it. We're all developers, right? So we can take the first step and build something that solves a few problems without having to be stuck in the generic all-encompassing world of the IDE, with its toolbars and endless icons. I'm doing it: we invented and are developing a web based HTML prototyping tool that's sort of like a stripped down HTML IDE. We're specifically looking at all the things IDEs do and what we want to keep, change, or throw away. It's a challenge but it's making our product very lean, focused, and easy to use.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by klync on Sunday October 03, 2010 @01:05PM (#1753067)
I've long used jEdit as my text editor of choice for coding html, perl and php. jEdit is pretty much just another in its class that will give you syntax highlighting, regex search and replace, macros, and a few other nifty programmer-friendly features, just like BBEdit, UltraEdit, etc. What I really like about jEdit, personally, is that it's built in Java, and so it's pretty much identical on Mac, Windows and Linux. This is key when moving back and forth a lot, as I sometimes do.

Depending on what kind of programming you do, though, I'm going to have to agree with the other posters who've suggested vim or emacs. I'm a vim person, myself, but there's nothing wrong with emacs at all. I guess, go for vim if you really want to go minimal; go for emacs if you want to simplify with the ability to build out your text editor into an IDE.

The big reason I say you might as well go for vi or emacs, though, is because without an IDE, you will likely need to spend more time at the command line - whether that means running your compiler, firing up your debugger, etc.

I never bothered learning some of the more advanced techniques with vi, but I've written some fairly big projects in a terminal using screen, vi and "perl -d". One little tip I think is worth passing along: I declare my functions in perl like this:

sub my_method_name # the method that does that thing and returns a hashref

{

..

}

The reason I think this is worth mentioning is because it saves me so much time when working in a terminal with a minimal toolkit: I run "grep -nr ^sub" and it returns all my method definitions with a brief (one line) description. The output from that grep is like a mini "whatis" database o my codebase.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by pmjordan on Sunday October 03, 2010 @08:21AM (#1752593)
I keep meaning to learn how to properly use emacs or vim, but I've never actually found the time to do so[1]. So instead, I've just ended up using a plain multi-document editor with syntax highlighting and sessions - KDE's Kate in my case - and a bunch of terminal windows/tabs for REPLs, compilers, build scripts and version control. Where appropriate, I use a stand-alone debugger for whatever runtime I happen to be programming in (JSwat for the JVM, and KDbg as a gdb frontend).

That said, certain types of work for customers is most easily done in an IDE, for example .NET or Win32 stuff (Visual Studio), iOS programming (XCode) and Nintendo game consoles (CodeWarrior), so I use those where appropriate.

It's probably not an optimal approach and it certainly earns me zero respect from my peers using vim or emacs (or eclipse...). Considering how varied my work tends to be, relying on a cluster of totally independent tools actually works pretty well.

[1] I do use vim for shell scripts and configuration files. iravpPdwq!/?: are the only commands I know, however.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by Vivtek on Sunday October 03, 2010 @10:10AM (#1752727)
This is what I've always done, too. Lately, I've been using Padre a lot, which is an open-source programmer's editor written in (and mostly for) Perl and Wx. I know if I really want to, I can change it - so even though I still don't ever change it, it removes the stress of wondering whether I could if I really want to. If you see what I mean.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by jessor on Sunday October 03, 2010 @08:36AM (#1752611)
Make a serious attempt in switching to vim for everything. Print out some cheatsheets and have them on the wall next to your monitor. There are also quite a few vim threads on HN which might be of interest to you.

It took me about a week to feel really comfortable with it, but now I'm really glad I didn't give up. I still learn new shortcuts every other week.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by gexla on Sunday October 03, 2010 @11:13AM (#1752836)
One thing I like about Vim which I'm not sure I have seen anyone else posted about here is that I can log into my remote VPS and have access to much of my development stack over the internetz. This is important to me because I live in the Philippines and my internet connection is relatively slow. It's good enough to get a solid terminal connection but downloading a large bundle of files could take days. So, I just log into my VPS, fire up Vim and if I need to get access to large number of files then I can quickly get them with Wget (obviously my server has a much faster connection speed than I do.) Also, if I get hit with a power outage I can hit an internet cafe (powered by generator) and get access to that same development stack no matter which computer I'm using.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by jdoliner on Sunday October 03, 2010 @02:18PM (#1753241)
I'm a Vim user and here are my 2 cents on the matter. Vim has a lot of keyboard tricks because there's a keyboard shortcut for almost everything. Don't worry about those right now. Here's how I would suggest you learn Vim: You already know the basics you can get into and out of insert mode you can save a file you can open a file. You now have a "complete" editor in the same way a Turing machine is Turing complete. The problem is it's inefficient. So figure out exactly what you're wasting time on and one at a time (or you could do a few at a time) look up the commands to automate these things. Make yourself use the commands every time they come up if you forget take the time to look it up again. You're going to notice a very steady rise in your efficiency.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by towndrunk on Sunday October 03, 2010 @10:42AM (#1752780)
I use Coda on the mac. Not really an IDE but still combines what I need into the environment.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by geophile on Sunday October 03, 2010 @12:28PM (#1752990)
What IDE, language and platform is driving you to frustration?

I'm a long-time emacs user, but I have found Intellij IDEA to be a wonderful tool for working in java. Older versions were slow to start up and occasionally sluggish, but new versions on modern hardware are wonderful. I use netbeans for C++. I haven't found anything for Python that I like. (I find Eclipse unusable for anything.) If IDEA or Netbeans were taken away from me, I'd use emacs.

Actually, I still spend a lot of time in emacs. I use the IDEs for writing new code, reading code, and running/debugging unit tests.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by templaedhel on Sunday October 03, 2010 @11:18PM (#1754477)
My file manager has FTP built in, so I can access files on my host the same as I can my documents. I use gedit with sy tax highlighting/bracket completion/tabulous and several other plugins for added effectiveness. I can then save images or scripts or mp3s or anything to the correct place on my host the same as I would anywhere on my local HDD. F course this doesn't work when using a lanuage that requires compiling, and I prefer an IDE for those. As far as web development goes however, I find my setup to be perfect.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by gte910h on Sunday October 03, 2010 @11:52AM (#1752905)
I primarily am doing Xcode development.

So vim is simply set as my editor, with CoccaVim plugin installed. Xcode manages the builds, etc, but otherwise I'm in vim.

There are plenty of plugins that give you "all a boy could ask for" as far as development resources.

Go through vim tutor for a bit to get the NEXT level of commands down. Once you get used to typing replace commands and moving about by words etc, you'll possibly think it "powerful enough".

Re:Ask HN: I'm done with the IDE. What's a good alternative? by hogu on Sunday October 03, 2010 @06:13PM (#1753774)
what language do you develop in? IDE's are bloated because they have tons of features, If you tell us what features you require, someone might be able to suggest a non-bloated solution to do what you want.

I develop mostly in python, so I use emacs for syntax highlighting and efficient text editing, ipython/pdb for debugging, and grep to help me figure out which files things live in. But that may or may not be sufficient for you.

Re:Ask HN: I'm done with the IDE. What's a good alternative? by atambo on Sunday October 03, 2010 @12:18PM (#1752969)
http://www.sublimetext.com/

By far the best windows text editor (currently being ported to osx/linux)

Re:Ask HN: I'm done with the IDE. What's a good alternative? by araneae on Sunday October 03, 2010 @12:22PM (#1752975)
I use vim for simple things like bash or tex, but I prefer to use geany most of the time for WP because it's fast, versatile and easy.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by code_duck on Sunday October 03, 2010 @05:24PM (#1753653)
I just like using a text editor with programming features. Kate on Linux, Notepad++ on Windows, and Komodo on Mac.
Re:Ask HN: I'm done with the IDE. What's a good alternative? by teyc on Sunday October 03, 2010 @11:46AM (#1752886)
I managed to get by on Vim with the following key bindings

[code] h j k l i a ^ $ Ctrl+w Ctrl+n Ctrl+p * # ? [/code]

Re:Ask HN: I'm done with the IDE. What's a good alternative? by Hoff on Sunday October 03, 2010 @02:37PM (#1753286)
So we have 2010's version of the immemorial text editor wars^Wdiscussions?

Yawn.

Pick whatever editor^WIDE works best for you, and for the task at hand.

Don't expect to convince anybody else.

Don't expect to have one universal solution.

And please do us all a favor, and keep the evangelism to a minimum.