Shrutarshi Basu rightly presents the programmer’s dilemma for using IDEs. In my case, I moved away from IDEs because they turned out to be too specialized for my needs. I frequently work on multiple technologies. I had to use either an IDE that supported all of them but was inflexible or different IDEs if I wanted the flexibility. vim, allows me to do deep customization for all text-editing tasks, include the ones for code, scripts and even documentation. As an example, I use restructured text for all documentation tasks and convert it to required delivery format. I can instruct vim to automatically update the delivery file whenever I change the documentation, using just one line.
autocmd BufWritePost ~/<path-to-documenation-directory>/*.txt
\ !rst2html.py --stylesheet-path=rststyles.css % %.html
A secondary benefit of using tools like vim is that I can keep using my setup on different platforms.
The only thing I had to sacrifice was seamless integration of debuggers in some cases (I know there are other text editors which do a better job of integration with debuggers). Many programmers consider this to be the biggest problem with using plain editors for code, but I have been able to do without them.
Do you use IDEs or text editors for your programming tasks?

February 11th, 2009 at 8:30 pm
The distinction between a text editor and an IDE reminds me of the distinction between a religion and a cult: a cult is a small, unpopular, religion, while a religion is a large, popular, cult.
For Perl, Bash, C, C++, and general editing I’ve been using gvim (the GUI version of http://www.vim.org/ ), for many years now. It’s heavily customised and I installed several plug-ins. For editing Hebrew text or mixed Hebrew-Latin text, I’ve been using KDE 3′s KEdit and more recently KDE 4′s Kate, because while Vim supports Unicode and other character sets and encodings very well, it does not have a bidirectional display and it’s annoying to see it this way. On the terminal, I once used joe (which was the first UNIX editor that I liked to use), but recently switched to the console vim, and didn’t look back.
Some people’s philosophy is that an editor should still be usable using the default configuration. My philosophy is that when working on a new system, I can always use the default editor (vi, notepad, etc.) just enough to set up my working environment according to the way I like to, so I shouldn’t fear from customising and getting used to that.
Note that I do not preclude that I’ll use a different editor or IDE for different languages with which I have had less experience. (e.g: Eclipse for Java). Use the right tool for the job.
Oh! And your blog should have previews for comments as well as a way to receive email notifications for responses on threads.
February 13th, 2009 at 2:43 am
A long time ago, I just used regular text editors, pico/nano under unix, BBEdit on MacOS 8/9, EditPlus under Windows.
My first IDE was when I needed to do C/C++ Win32 work, and so it was Visual Studio.
That’s when I first realized how nice an IDE can be with everything in one place including the debugger.
After that I needed to do Java work, so Eclipse became the IDE I lived in.
At first I was not a fan at all of Eclipse.
Over time I grew to appreciate the flexibility of Eclipse.
When the time finally came that I needed to write some C/C++ code, this time under Linux, I installed the C development tools plugin for eclipse (CDT).
It worked great. Debugging, syntax highlighting, compiling/building, linting and all the features I grew fond of when doing development in Java.
Then, the mother of all projects came along.
It had PHP, XML+XSLT, C/C++, Java and Perl.
So I installed the appropriate plugins into Eclipse.
It was during this project that I grew to love and CHOOSE Eclipse as my IDE of choice, now, and forever.
Sure Eclipse isn’t without it’s problems, but it’s really a fantastic piece of software. Open source, runs on any platform, has plugins for a huge number of languages, and anything it can’t do out of the box you can just write your own plugins to handle.
I still totally respect people who use emacs and vi with lots of plugins and customizations to do everything they want to do, but for me, Eclipse is my #1
February 13th, 2009 at 8:08 am
Shlomi, you seem to have retained the flexibility of adapting to the tools at demand. I have perhaps become stubborn about my setup, and now that I am writing this I know why I go and download vim on every new machine that I work with. Thanks for your request for preview of comments, will work on it.
Robert, looks like your love for Eclipse has grown the way it is for me with vim
Eclipse is a great tool, I had worked on creating a plugin for it a while back. However, I could never make it as responsive as I wanted it to be.
February 27th, 2009 at 3:14 am
For the longest time, I was an IDE guy. Mostly Eclipse, though I tried Netbeans back in the day. A few months ago or so (could it be a year now?), I finally snapped. The resource consumption by “features” I didn’t need or want, the difficulty of maintaining a bazillion plugins that really were useful to me, the dependency trees…it got to be too much. I needed to step back.
Like you, I’m cross platform – Linux at work, OS X at home – and I tried nearly every text editor for both. I certainly tried all of the free ones. Most had issues of one kind or another (I still can’t believe that I had to undo one character at a time in TextMate) and I quickly got annoyed at using one set of menus/shortcuts at work and then change gears, and muscle memory, in the evenings.
I want to learn to love vim, but I think it scares me a little bit. The learning curve seems to daunting when I want to be productive quickly and unnecessary when I don’t. I ended up settling on Komodo Edit. It feels a little sluggish at times, but I like its snippets a lot and it is cross-platform. I also like that I can work using the project metaphor. So far it’s working for me just fine.