Wille Faler over at recursivity.com has a nice post on IDEs and why we need them. His take is that if you need an IDE it’s because of shortcomings in the language you’re using. He has in mind, of course, Java but it’s a good general principle. Languages like C, Lisp, Python, Ruby, etc. don’t need IDEs; they’re relatively simple and small and most of them have a REPL available that makes interactive development easy and rewarding. Even in C, which does not, of course, have a REPL, development is straightforward and any of the standard editors can easily integrate the compile/edit/debug cycle.
To be clear, neither Faler not I claim that using an IDE is bad; only that if you claim you need one to do your work then that’s an indication of problems with the language you’re using. There’s some interesting (and heated) discussion in the comments including the question of what, exactly, constitutes an IDE. Does Emacs with its language awareness and ability to send code directly to the REPL count? Faler says no. He clarifies that he was mostly thinking about IDEs like Eclipse and IntelliJ that are targeted at a single language and duplicate functionality that could reside in a REPL or build system.
If you’re interested in the question of what constitutes a good tool for development, you might find the post and comments interesting. I know I did.