IDE versus Text Editor?
mechanical_fish: First: If you think you want to write your own editor, you've answered your own question. You need to learn emacs, vi, or TextMate immediately, because these are editors that make it very easy to change their behavior by writing your own custom extensions.I wouldn't write my own editor until I had learned all three of those editors. After that... I still wouldn't write my own editor. ;) Spend your energy on a problem that urgently needs solving.Now to your question: First, I can't answer it, because I'm not really a user of any IDE. Second, I think it is ill-posed. It's like asking which is more productive: using emacs, using Ruby, or using Excel. If you're an expert in one of these tools, you can use it to replace the others to some extent (I just encountered a programmer who was using Excel to compose hundreds of SQL queries. I have to admit that it works, although it would never occur to me to do this; I'd reach for emacs instead or, failing that, Ruby or Perl.) But, in general, these three tools are designed for different problems, and each tool has its sweet spot.There are languages for which the vast majority of programmers use an IDE. (I'd probably use one if I had to do any Java programming; Mac development in Objective C might tempt me to use XCode to write code; I'm pretty sure .NET programmers use Microsoft tools.) But you become a different kind of programmer when you use something like emacs instead. For one thing, your text editor can be used to edit anything that is made of text: Python, PHP, Javascript, SQL, C, Ruby, Perl, Lisp, Haskell, Erlang, Java, shell scripts, config files, HTML, CSS, LaTeX, directory listings, version-control logs, long emails, documentation, outlines, to-do lists, blog entries, Wikipedia articles... ad infinitum. If you improve your emacs skills, your skill at editing all of these things increases. If a new language comes along, or a radical new way of using an old language, you needn't be one of those tiresome people who sits on the sidelines, complaining, because the New Thing lacks IDE support: You've got an editor that works fine with the New Thing, and which you already know how to use, and you can incrementally improve that editor by teaching it some New Thing macros, and before long someone (maybe you!) will write some emacs modes to support the New Thing.Meanwhile, emacs skills do not become obsolete. The editor is quite possibly older than you, and will almost certainly live as long as you. It's cross-platform and open-source. Because it is not tightly tied to one language, platform, version-control system, workflow, or vendor, it has transcended and outlived all of these things.